Bankomat – Jak optymalnie wydać resztę?
by vbatools on Jan.20, 2012, under Excel, Porady
Jesteś ciekawy jak działa bankomat? Chciałbyś zbudować maszynkę do efektywnego wydawania reszty?
Oto prosty przykład przestawiający okno odpytujące o kwotę do wydania.
a oto wynik:
Przy zastosowaniu tablic można agregować nominały aby pokazywać ich sumę, jednakże pow forma przedstawia sposób kolejnego doboru bilonów. Możesz to wykorzystać i zbudować interfejs wyposażony w zdjęcia bilonów i monet, a dzięki wbudowaniu animacji przedstawić proces wydania, lub podłączyć procedurę do portu RS i przenieść proces wydania w rzeczywistość.
Sub ile_banknotow() 'wartość zostanie przeliczona na dane z tablicy i kolejno zaproponowane 'MVP OShon from VBATools.pl Dim liczba As Currency, y&, do_wydania$, pyt Dim tablica As Variant, skarbonka As Currency tablica = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01) pyt = InputBox("Wpisz wartość liczbową aby uzyskać " & _ "informacje o banknotach składających się na tą wartość:", _ "Bankomat VBATools.pl", "1234,56") 'przykładowa wartość zamiast Zera If Len(pyt) = 0 Then Exit Sub If IsNumeric(pyt) = False Then MsgBox "Wartość " & Chr(34) & pyt & Chr(34) & _ " nie jest spodziewaną wartością pieniężną!", vbExclamation, _ " VBATools.pl": Exit Sub liczba = CCur(pyt) On Error GoTo Blad Do While skarbonka < liczba nowy_banknot: If skarbonka + tablica((y)) > liczba Then y = y + 1 GoTo nowy_banknot Else skarbonka = skarbonka + tablica((y)) do_wydania = do_wydania & tablica((y)) & " +" If skarbonka = liczba Then Exit Do End If Loop Debug.Print skarbonka & " = " & do_wydania MsgBox "Aby wydać wartość " & skarbonka & " należy wydać kolejno: " _ & vbCr & Left$(do_wydania, Len(do_wydania) - 2), _ vbInformation, "Bankomat VBATools.pl" Exit Sub Blad: MsgBox "Podana wartość " & pyt & " nie jest postaci walutowej!", _ vbExclamation, " VBATools.pl" End Sub
Gotowy projekt z wizualizacją bilonów można znaleźć na tej stronie. Jeśli rozwiązanie ci się podoba namawiamy do zakupu czym zasilisz dalsze ciekawe projekty.
(c) Shon Oskar – www.VBATools.pl
Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.