Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Fehler bei EAN-Prüfsummenberechnungsprogramm
DelphiDome - Sa 12.06.10 14:30
Titel: Fehler bei EAN-Prüfsummenberechnungsprogramm
Hallo,
ich habe ein Programm geschrieben, welches die EAN prüft und dann sagt "Richtig" oder "Falsch".
Zur Berechnung wird
erstens die Prüfsummenberechnungsmethode 1. Zahl mal 1, 2. Zahl mal 3, 3. Zahl mal 1...
verwendet. Dann werden
zweitens diese Ergebnisse zusammengerechnet. Wenn die
letzte Ziffer mit der Zahl übereinstimmt,
die benötigt wird, um das
nächste Vielfache von 10 zu bekommen, ist die EAN korrekt. Ich weiß jedoch nicht, wie man
die Aufgabe bei
zweitens löst. Kann mir jemand helfen?
Danke im Voraus, DelphiDome
Moderiert von
Narses: Topic aus Algorithmen, Optimierung und Assembler verschoben am So 13.06.2010 um 23:22
Xentar - Sa 12.06.10 14:34
Wie sieht dein Code bisher aus, um erstens zu lösen?
DelphiDome - Sa 12.06.10 14:52
Ich habe folgende Variablen vereinbart:
Delphi-Quelltext
1: 2: 3:
| var Eanstelle: Array[1..13] of Integer; var PruefSum : Array[1..13] of Integer; var Ergebnis : Integer; |
Dann habe ich folgendes gemacht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| PruefSum[1] := (Eanstelle[1] * 1); PruefSum[2] := (Eanstelle[2] * 3); PruefSum[3] := (Eanstelle[3] * 1); PruefSum[4] := (Eanstelle[4] * 3); PruefSum[5] := (Eanstelle[5] * 1); PruefSum[6] := (Eanstelle[6] * 3); PruefSum[7] := (Eanstelle[7] * 1); PruefSum[8] := (Eanstelle[8] * 3); PruefSum[9] := (Eanstelle[9] * 1); PruefSum[10] := (Eanstelle[10] * 3); PruefSum[11] := (Eanstelle[11] * 1); PruefSum[12] := (Eanstelle[12] * 3); PruefSum[13] := (Eanstelle[13] * 1 |
);
Ich hoffe, die Frage ist damit beantwortet.
Moderiert von
Christian S.: Delphi-Tags hinzugefügt
Jakob_Ullmann - Sa 12.06.10 15:01
Wo liegt dann das Problem? Musst du doch einfach addieren, dann ist (10 - (summe mod 10)) mod 10 die letzte Ziffer.
DelphiDome - Sa 12.06.10 15:05
Das hört sich ja gut an. Muss ich jetzt den Vorschlag unter die Addition schreiben?
(Ergebnis := (PruefSum[1] + PruefSum[2] + PruefSum[3] + PruefSum[4] + PruefSum[5] + PruefSum[6] + PruefSum[7] + PruefSum[8] + PruefSum[9] + PruefSum[10] + PruefSum[11] + PruefSum[12]+PruefSum[13])) ???
Moderiert von
Christian S.: Delphi-Tags hinzugefügt
Xentar - Sa 12.06.10 15:16
Probiers doch aus.
Man könnte es auch mit ner For-Schleife von 1 bis 13 lösen.
DelphiDome - Sa 12.06.10 16:05
Wie sähe diese aus? (sorry, bin noch nicht sehr lange Delphi-Programmierer)
DelphiDome - So 13.06.10 11:42
Danke! Jetzt hat es geklappt! :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!