C# :: Aufgabe #294 :: Lösung #1
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ß
#1

von Waldgeist (2310 Punkte)
- 08.04.2020 um 14:41 Uhr
Hallo,
mir mein Lösungsvorschlag.
C#-Code
hier der XAML Code
C#-Code
mir mein Lösungsvorschlag.

using System; using System.Windows; namespace EAN_Prüfsumme { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void ButtonBerechne_Click(object sender, RoutedEventArgs e) { int prüfsumme = 0; string c; int zahl = 0; int summe = 0; string eingabe = TextBoxEingabe.Text; if (eingabe.Length != 12) { TextBoxAusgabe.Text = "Falsche Eingabe"; } else { for (int i = 1; i < eingabe.Length + 1; i++) { if (i % 2 == 0) { c = eingabe[i - 1].ToString(); zahl = (Convert.ToInt32(c)) * 3; TextBoxAusgabe.Text = c.ToString(); } else { c = eingabe[i - 1].ToString(); zahl = (Convert.ToInt32(c)); TextBoxAusgabe.Text = c.ToString(); } summe = summe + zahl; } if (summe % 10 == 0) { prüfsumme = 0; } else { while (summe % 10 != 0) { summe++; prüfsumme++; } } } TextBoxAusgabe.Text = prüfsumme.ToString(); } } }
hier der XAML Code

<Window x:Class="EAN_Prüfsumme.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:EAN_Prüfsumme" mc:Ignorable="d" Title="EAN Prüfsumme" Height="321" Width="355"> <Grid> <TextBox x:Name="TextBoxEingabe" HorizontalAlignment="Left" Height="28" Margin="39,63,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="265" /> <Button x:Name="ButtonBerechne" Content="Berechne Prüfsumme" HorizontalAlignment="Left" Height="37" Margin="39,108,0,0" VerticalAlignment="Top" Width="265" Click="ButtonBerechne_Click" /> <TextBox x:Name="TextBoxAusgabe" HorizontalAlignment="Left" Height="29" Margin="39,198,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="265" /> <Label Content="Bitte eine EAN Nummer (12-stellig) eingeben:" HorizontalAlignment="Left" Height="42" Margin="39,21,0,0" VerticalAlignment="Top" Width="529" /> <Label Content="Prufsumme" HorizontalAlignment="Left" Height="30" Margin="39,168,0,0" VerticalAlignment="Top" Width="265" /> </Grid> </Window>
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1