Da bin ich mal wieder...
Hier das neue Problem:
Wer kann mir dabei helfen?
Vielen vielen Dank im Vorraus!!!
4.3 Aufgabe zur Verarbeitung
Schreiben Sie ein Programm als allgemeine Lösung für die Prüfzifferberechnung des EANCodes
(siehe auch Praktikum 1) unter Verwendung eines Datenfeldes . Die entsprechenden
Stellen im Listing sind zu ergänzen. Führen Sie die Aufgabe so aus, dass die Ausgabe des
EAN-Codes entsprechend der im folgenden gegebenen Beispieltestläufe erfolgt.
Zeigen Sie Listing und Testlauf.
Listing
/*Prüfziffernberechnung allgemein mit Datenfeld*/
/*Autor:.........., Datum:.............*/
#include<stdio.h>
void main()
{
/*Definition der verwendeten Variablen mit Datentyp*/
int i,ean_nr,anzahl_nziffern;
/*Ihre Aufgabe: Nutzziffern als Feld definieren.
Es gibt höchstens 12 Nutzziffern!*/
int summeeinzelprodukte=0,modulo10, pruefziffer;
int gewicht=3;
printf("*************************************\n");
printf("* Pruefziffernberechnung *\n");
printf("* Autor:................ *\n");
printf("*************************************\n\n");
/*Benutzereingabe: EAN-Code-Nr*/
printf("EAN-Code-Nr. =? (8 oder 13 eingeben)");
scanf("%i",&ean_nr);
anzahl_nziffern=ean_nr-1;
printf("Es werden nun %i Ziffern eingelesen.\n\n",anzahl_nziffern);
/*Ihre Aufgabe: Programmieren Sie eine Schleife zum Einlesen aller
Nutzziffern */
/*Ihre Aufgabe: Programmieren Sie eine Schleife zum Berechnen
der gewichteten Summe der Nutzziffern*/
for(/*Ihre Aufgabe*/)
{
/*Aufgabe: Summierung, abwechselnd mit Gewichtungsfaktor 3
bzw. 1 von rechts nach links*/
if(gewicht==3)/*Gewichtungsfaktor wechsen*/
gewicht=1;
else gewicht=3;
}
modulo10 = summeeinzelprodukte % 10;
pruefziffer = (10 - modulo10) % 10;
/*Ausgabe des EAN-Codes mit Nutzziffern und Pruefziffer*/
/*Ihre Aufgabe:Ausgabe der Ziffern des vollständigen EAN-Codes einschließlich
Prüfziffer, z.B. EAN-13-Code:5449000096241*/
}
- 45 -
Lin. 11/2006
Testlauf für EAN-8
Testlauf für EAN-13