Advertisement
Guest User

EAN checkDigit

a guest
Apr 26th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.39 KB | None | 0 0
  1. using System;
  2.  
  3. namespace ConsoleApp1
  4. {
  5.     internal class Program
  6.     {
  7.  
  8.         private static void Main(string[] args)
  9.         {
  10.             while (true)
  11.             {
  12.                 Console.WriteLine("Bitte geben sie eine EAN ein:");
  13.                 var input = Console.ReadLine();
  14.                
  15.                 if (input.Equals("q")) break;
  16.  
  17.                 var checkDigit = CalculateCheckDigit(input);
  18.  
  19.                 if (input.EndsWith(checkDigit.ToString()))
  20.                 {
  21.                     Console.WriteLine("Korrekte Prüfnummer!");
  22.                 }
  23.                 else
  24.                 {
  25.                     Console.WriteLine("Falsche Prüfnummer!");
  26.                     Console.WriteLine("Die korrekte Prüfnummer lautet: " + checkDigit);
  27.                 }
  28.             }
  29.            
  30.         }
  31.  
  32.         public static int CalculateCheckDigit(string ean)
  33.         {
  34.             var sum = 0;
  35.             var multiplier = 3;
  36.            
  37.             //Wir fangen mit der vorletzten Ziffer an diese wird bei EAN 8 und EAN 13 mit 3 multipliziert
  38.             for (var i = ean.Length - 2; i >= 0; i--)
  39.             {
  40.                 sum += int.Parse(ean[i].ToString()) * multiplier;
  41.                 //zwischen 3 und 1 wechseln
  42.                 multiplier = 4 - multiplier;
  43.             }
  44.  
  45.             var nextMulOfTen = (sum+9) - ((sum+9) % 10);
  46.             return nextMulOfTen - sum;
  47.         }
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement