[VB] Umrechnungsprogramm

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Artentus.

    [VB] Umrechnungsprogramm

    HI

    Ich brauche mal eure Hilfe. Unswar wollte ich ein Programm erstellen welches Geldbeträge umrechnen kann. Angenommen man schreibt in das Fenster es kostet 500ct,
    dann soll das Programm sagen 2 Euro: 2x und 1 Euro: 1x. Ich bin soweit das man sagen kann: ich hab 5ooct und dann wie viele 2 Euro benötigt man. Allerdings sagt er mir dann bei 500 ct: 2.5.Es klappt zwar so weit aber wie kann ich das Progamm programmieren das er mir nur 2x 2Euro münzen sagt.

    Danke schonmal im Voraus.

    Skriptking

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SkriptKing“ ()

    Das ist wohl ne Sache des Typs.
    Also ein Double, oder ein Decimal kann Kommastellen enthalten.
    Ein Integer hingegen nur Ganzzahlen.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Jenachdem wird dann dementsprechend gerundet.

    Double: Der Werttyp Double stellt eine 64-Bit-Zahl doppelter Genauigkeit mit Werten von -1,79769313486232e308 bis +1,79769313486232e308 dar
    Integer: Der Werttyp Integer stellt eine Zahl mit Werten von -2147483648 bis +2147483647 dar.
    Danke das ihr so shcnell geantwortet hab aber ich denke das das nicht das ist was ich mir vorgestellt habe.
    Ich könnte ja mal den programmcode online stellen den iich bis jetzt habe Außerdem habe ich es schon mit einem Bytetyp versucht aber es funktioniert nicht
    Ich habe das Gefühlt dass der TE noch recht neu in VB ist. Und deshalb den C#-Code erst garnicht versteht.

    Ich würde vorschlagen in Visual Studio "Option Strict On" zu stellen... dann werden dir erstmal ein paar Fehler um die Ohren fliegen... Denn ich habe bei deiner Frage das ganz ganz üble Gefühl, dass du keine Ahnung von Datentypen hast.

    Wenn du die Fehler behoben hast, sollte sich dein Verständnis für Datentypen so weit gefestigt haben, dass deine Frage automatisch beantwortet wird.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Natürlich.

    VB.NET-Quellcode

    1. Dim betrag = 1000
    2. For Each x In {50000, 20000, 10000, 5000, 2000, 1000, 500, 100, 50, 20, 10, 5, 2, 1}
    3. If betrag >= x Then Debug.Print(betrag \ x & " x " & x / 100 & " EUR")
    4. betrag = betrag Mod x
    5. Next

    In Zeile 1 wird einfach nur die Variable deklariert, in der der umzurechnende Betrag stehen soll. Du musst die "1000" dort natürlich mit irgendeinem Einlesevorgang ersetzten.
    Der Rest ist eine ForEach-Schleife. Eine ForEach-Schleife durchläuft alle Elemente einer Auflistung der Reihe nach. Die Auflistung ist in diesem Fall das, was in den geschweiften Klammern steht, also alle möglichen Beträge in Cent (sie sind von groß nach kein geordnet - das ist wichtig). Die jeweilige zahl wird dann in der Variable x zwischengespeichert.
    In der darauf folgenden If-Abfrage wird dann überprüft, ob der aktuell ausgewählte Wert aus der List kleiner oder gleich dem Betrag ist. Sollte das der Fall sein, so ist der ausgewählte Wert ein Teil der Ausgabe. Mit dem "\" wird eine Ganzzahlteilung durchgeführt, d.h. es wird berechnet, wie oft der ausgewählte Wert in den Betrag hineinpasst, aber ohne Nachkommastellen. Dann wird der ausgewählte Wert für die Ausgabe noch in Euro umgerechnet (mit "/ 100") und das ganze wird ausgegeben.
    Als letztes wird noch eine Modulo(Mod)-Operation durchgeführt. Diese gibt den Rest einer Teilung zurück (Bsp.: 10 Mod 3 = 1). Diese benötigen wir, um den Betrag um den vorher ausgerechneten Wert zu verringern.
    Dies wird nun bis 1 Cent wiederholt.

    Wenn du willst kannst du es einfach mal ausprobieren. Du brauchst nur den Code ins FormLoad-Event zu kopieren und die 1000 am Anfang durch einen beliebigen Cent-Betrag zu ersetzen.