Prüfziffer von Euro-Geldscheinen berechnen

  • VB.NET

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    Prüfziffer von Euro-Geldscheinen berechnen

    Hallo Leute!

    Ich habe bis bis Montag Zeit diese Aufgabe zu programmieren und da ich mich noch nicht so mit Functionen und Subs auskenne die ich wahrscheinlich zu dieser Aufgabe benötoge
    ich eure Hilfe brauche.


    Zum Beispiel eine Euro-Banknote


    Beispiel: Z 60162200 220 6

    Die Prüfziffer berechnet sich wie folgt:

    - Der Buchstabe wird durch seine Position im lateinischen Alphabet ersetzt(bei Z also 26)
    - Es wird die Quersumme der Positionszahl und der 10 Ziffern berechnet (im Beispiel
    2+ 6+ 6+0+6+1+2+2+0+0+2+2 = 29)
    - Die Zahl wird mit Rest durch 9 geteilt(2)
    - Der Rest wird von 8 subtrahiert. Das Resultat ist die Prüfziffer (6). Es sei denn es kam 0 dabei heraus, dann ist die Prüfziffer 9.

    Und dann steht da Implementieren sie ein asp.net/vb.net Programm, welches für eine Seriennummer(gegeben als String) die Prüfziffer berechnet und in einem Label ausgibt. Der Buchstabe ist immer Groß. Fehlerfälle brauchen nicht berücksichtigt zu werden.

    UND ICH HABE KEINEN PLAN WIE ICH DAS IN EINEN CODE UMWANDELN SOLL
    KANN MIR DA BITTE JEMAND HELFEN. ?( :wacko: :?:
    Ihr bekommt doch sicher nicht eine solche Aufgabe, wenn ihr nicht schon die nötigen Dinge im Unterricht dran genommen habt. Wenn du das nicht umzusetzten weist solltest vlt. nochmal in deinen Unterlagen suchen.
    Die Aufgabenstellung, Zerlegung der Nummer in Integer, ist nun nicht das aller schwerste.

    Tip: Ein String ist ein Array vom Typ Char.
    Wie sind denn so die Kentnisse in VB? Rechnen mit Zahlen, Stringfuntkionen, If/Select Case sollten dir ein Begriff sein.

    "Kein Plan" ist natürlich nicht gerade die beste Voraussetzung für zu erledigende Aufgaben.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Ich habe dir in meinem Post ein Tip gegeben, noch einen? For-Schleife & Convert-Klasse.

    Du suchst im Netz? Nun solche Grundlagen wirst du dort nicht finden und wenn evlt. ein fertigen Code findest wirste ihn wohlmöglich nicht verstehen und das ist dann auch nicht Sinn der Sache.

    Quadsoft schrieb:

    Dodo schrieb:

    Ein String ist ein Array vom Typ Char.
    Intern ja, VB.NET benutzt Indexer


    Wie Intern? Auch in VB kann man auf ein String wie auf ein Array zugreifen =)
    Ich beschäftige mich schon 2 Jahre mit Asp.net aber nur in der Schule, und wir haben einen Lehrer der es sehr kompliziert erklärt.
    Und ich komm da jetzt irrgendwie nicht weiter, ich bin negativ in diesem Fach und er hat mir diese Aufgabe gestellt.

    Ich weiss nicht wie ich den Algorithmus befolgen soll.

    1. Variablen deklarieren schon klar
    2. Eine For schleife beginnen ?
    3. ich soll die Quersumme berechnen und mit der Funktion Mod(Modolo) teilen dazu verwende ich die Zahl 9
    4. also der Rest soll dann mit 8 subtrahiert werden
    5. das ergebnis soll in einem label ausgegebn werden ist mir auch klar

    Punkt 2. und punkt 4 sind mir unklar...ich weiss nicht wie die For schleife aussehen soll
    Hey,

    VB.NET-Quellcode

    1. 'for schleife
    2. for i = 0 to 100
    3. 'mach irgendwas
    4. next


    ich helfe immer gerne. ;)
    Greetz
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?

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

    Ich bin mir nicht sicher, aber da ich immer ans gute im Menschen glaube denke ich eher das er nicht weiß wie er die For-Schleife verwenden soll, bzw. nicht weiß das die ModUlofunktion den Rest einer Subtraktion zurück gibt.

    Aber auch auf das kannst du kommen wenn du ein wenig nachdenkst ;)

    lg.
    lg.

    LucaWelker
    Mich hat das ganze interessiert:

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Public Function getint(ByVal input As String) As Integer
    4. Dim alphabet As Array = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
    5. For i = 0 To alphabet.Length
    6. If input.ToLower = CStr(alphabet.GetValue(i)) Then
    7. Return i + 1
    8. Exit For
    9. End If
    10. Next
    11. End Function
    12. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    13. Dim count_up As Double = getint(TextBox1.Text(0))
    14. For i = 1 To TextBox1.Text.Length - 1
    15. count_up += (CInt(Microsoft.VisualBasic.Val(TextBox1.Text(i))))
    16. Next
    17. Dim step_1 As Double = (count_up / 9)
    18. Dim final As Double = (step_1 - 8)
    19. Label1.Text = CStr(final)
    20. End Sub
    21. End Class




    btw: deine Erklärung war nicht besonders hilfreich, dies war da schon eher prezise: gierhardt.de/informatik/info9_10/EURO.pdf
    Moderatorin: "Apropo ritzen.." Shin Chan: "hoho sie hat Po ritze gesagt"
    "saying to buy a mac because your anti-virus expired is like saying you're out of condoms so you're just going to go fuck dudes"
    "Wie auch in anderen Threads kann ich leider nichts bieten außer vielleicht spaß beim Skypen aber mehr leider auch nicht." - Sind kinder pornos nicht verboten?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Glossy Cherry“ () aus folgendem Grund: Option Strict On

    Na supi, nu kopiert er das, gibts ab, lernt nichts und der Unterricht geht weiter und bei der nächsten Aufgabe steht er wieder vor dem Problem das er nichts weiß. Hätte er sich das selbst erarbeitet, wär er nu schlauer. Aus diesem Grund wird hier normalerweise kein Copy und Paste code gegeben.

    Amir_Noob schrieb:

    ModuloFunktion?


    zb: 100

    VB.NET-Quellcode

    1. Mod
    2

    (100/2 = 50) kein rest
    Rest = 0 ?


    Jep ;)

    VB.NET-Quellcode

    1. Dim rest As Integer = 100 Mod 2
    2. Console.WriteLine(rest.ToString())


    Gibt 0 aus.
    lg.

    LucaWelker

    Dodo schrieb:

    Zitat von »Quadsoft«
    Zitat von »Dodo«
    Ein String ist ein Array vom Typ Char.
    Intern ja, VB.NET benutzt Indexer


    Wie Intern? Auch in VB kann man auf ein String wie auf ein Array zugreifen =)
    Intern sind es char-arrays wie in z.b. C aber die klasse string ist doch kein char-array! dass man per index auf die einzelnen buchstaben zugreifen kann, regelt ein indexer.