C# :: Aufgabe #294 :: Lösung #4
4 Lösungen

#294
Berechnen der Prüfziffer einer EAN- Nummer
Anfänger - C#
von JKooP
- 29.03.2020 um 13:53 Uhr
Schreibe ein Programm mit dem man sowohl die Prüfziffer einer EAN- Nummer (Europäische Artikel- Nummerierung) berechnen als auch überprüfen kann.
Die EAN- Nummer besteht aus 13 Ziffern, wobei es sich bei der letzten Ziffer um die Prüfziffer handelt.
Beispiel für eine EAN: 978381582086[?]
Die Prüfziffer wird berechnet, indem man die ersten 12 Ziffern von links beginnend abwechselnd mit 1 und 3 multipliziert und anschließend die Produkte summiert.
Die Differenz zum nächsten Vielfachen von 10 ist die Prüfziffer.
Ist die Summe durch 10 teilbar, ist die Prüfziffer die Ziffer 0.
9·1 + 7·3 + 8·1 + 3·3 + 8·1 + 1·3 + 5·1 + 8·3 + 2·1 + 0·3 + 8·1 + 6·3
= 9 + 21 + 8 + 9 + 8 + 3 + 5 + 24 + 2 + 0 + 8 + 18 = 115
115 + 5 = 120 ⇒ Prüfziffer: 5
Viel Spaß
Die EAN- Nummer besteht aus 13 Ziffern, wobei es sich bei der letzten Ziffer um die Prüfziffer handelt.
Beispiel für eine EAN: 978381582086[?]
Die Prüfziffer wird berechnet, indem man die ersten 12 Ziffern von links beginnend abwechselnd mit 1 und 3 multipliziert und anschließend die Produkte summiert.
Die Differenz zum nächsten Vielfachen von 10 ist die Prüfziffer.
Ist die Summe durch 10 teilbar, ist die Prüfziffer die Ziffer 0.
9·1 + 7·3 + 8·1 + 3·3 + 8·1 + 1·3 + 5·1 + 8·3 + 2·1 + 0·3 + 8·1 + 6·3
= 9 + 21 + 8 + 9 + 8 + 3 + 5 + 24 + 2 + 0 + 8 + 18 = 115
115 + 5 = 120 ⇒ Prüfziffer: 5
Viel Spaß
#4

von dson (640 Punkte)
- 11.05.2021 um 17:19 Uhr

using System; using System.Collections.Generic; namespace ean_pruefziffer_errechnen { class Program { static void Main(string[] args) { double ean = 978381582086; bool maleins = true; double allezahlensumme = 0; double endzahl = 0; string eanstring = Convert.ToString(ean); List<double> allezahlen = new List<double>(); foreach (var item in eanstring) { if (maleins == true) { allezahlen.Add(Convert.ToDouble(item.ToString())); maleins = false; } else if (maleins == false) { allezahlen.Add(Convert.ToDouble(item.ToString()) * 3); maleins = true; } } foreach (var item in allezahlen) { allezahlensumme += item; }; eanstring = Convert.ToString(allezahlensumme); while (!eanstring.EndsWith("0")) { eanstring = Convert.ToString(Convert.ToDouble(eanstring) + 1); } endzahl = Convert.ToDouble(eanstring) - allezahlensumme; Console.WriteLine("Prüfziffer: " + endzahl); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1