Seite 1 von 1

Probleme mit Modulo

Verfasst: 24.05.2005 20:37
von stark
hallo,
ich hab ein programm geschrieben mit dem man prüfziffern an kontonummern dran hängen kann, dazu muß ich modulo rechnen...
kontonummer modulo 97. ergebnis war 2 bei purebasic, bei allen anderen taschenrechnern und softwareprodukten (auch java) 77.

hier ist der source...vllt habe ich auch einfach nur etwas falsch geschrieben.

Code: Alles auswählen

Global kontonummer.s
Global konto.l
Global zsatz.w
kontonummer = InputRequester("Bitte geben sie...","...eine Kontonummer", "43564523")

;MessageRequester("",Str(4356452300 % 97),#PB_Messagerequester_ok)
 konto = Val(kontonummer)
If (konto % 97) <> 0
  MessageRequester("",Str(((100*konto) % 97)),#PB_Messagerequester_ok)
  zsatz = 97 - ((100*konto) % 97)
  kontonummer = Str(konto) + Str(zsatz)
  MessageRequester("Die neue Kontonummer...","...lautet " + kontonummer, #PB_Messagerequester_ok)
Else
  
  MessageRequester("Achtung", "Kontonummer ist schon gültig!",#PB_Messagerequester_ok);
EndIf
danke für eure hilfe.

p.s. das proggy habe ich für mich selbst gechrieben um übungsaufgaben für mein studium zu kontrollieren

gruß

der stark

Edit by NicTheQuick: Code-Tags gesetzt

Verfasst: 24.05.2005 20:56
von DrShrek
Mach mal:

Code: Alles auswählen

Debug 43564523% 97
Und dann mach mal:

Code: Alles auswählen

Debug 4356452300% 97
Alles klar?

danke

Verfasst: 24.05.2005 21:51
von stark
dann scheint der algortihmus falsch zu sein... aber das ist der den der dozent uns gegeben hat... ich werd es mal weiter versuchen

Verfasst: 25.05.2005 07:57
von stbi
Ich lass mich gern belehren, aber m.W. gibt es in D kein Prüfziffernverfahren mit Modulo 97, siehe http://www.bundesbank.de/download/zahlu ... 200503.pdf

Davon abgesehen rechnet PB den Modulo 97 von 43564523 völlig korrekt mit 77.

Wenn Du eine Kontonummer prüfen willst, darfst Du sie nicht einfach Mod97 rechnen und dann muss 0 rauskommen, Du musst vor dem Modulo rechnen erstmal die Stellen für die Prüfziffer wegnehmen. Einfach auf 0 setzen geht nicht.

hi

Verfasst: 25.05.2005 21:48
von stark
du hast recht das in der brd keine kontonummer mit der prüfziffer hat die mod 97 gerechnet wird. es war eine übungsaufgabe für die fh und da ich meine hand gerechneten ergebnisse schnell und unkompliziert überprüfen wollte habe ich versucht dieses programm zu schreiben.

dennoch danke für den link.

gruß

der stark