You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
using System;
 | 
						|
 | 
						|
namespace ConsoleApplication9
 | 
						|
{
 | 
						|
    class BanknotePruefen
 | 
						|
    {
 | 
						|
        // Helferfunktion zur Berechnung der Quersumme
 | 
						|
        public static int QuerSumme(int zahl)
 | 
						|
        {
 | 
						|
            int querSumme = 0;
 | 
						|
            do
 | 
						|
            {
 | 
						|
                querSumme += zahl % 10;
 | 
						|
                zahl /= 10;
 | 
						|
            } while (zahl > 0);
 | 
						|
 | 
						|
            return querSumme;
 | 
						|
        }
 | 
						|
 | 
						|
        public int pruefeSeriennummer(string seriennummer)
 | 
						|
        {
 | 
						|
            // Buchstaben durch Zahl ersetzen (Grundlage: ASCII zuordnung)
 | 
						|
            char[] seriennummerChar = seriennummer.ToCharArray(0, 12);
 | 
						|
 | 
						|
            int positionszahl = (int)seriennummerChar[0] - 64;
 | 
						|
            int q1 = QuerSumme(positionszahl);
 | 
						|
            int q2 = 0;       
 | 
						|
            for (int i = 1; i <= 10; i++) {
 | 
						|
                q2 += ((int)seriennummerChar[i]-48);
 | 
						|
            }
 | 
						|
            int quersumme = (int)q1 + (int)q2;
 | 
						|
 | 
						|
            int subtrahend = (quersumme % 9);
 | 
						|
            int result = 8 - subtrahend;
 | 
						|
            if (result == 0) result = 9;
 | 
						|
 | 
						|
            if (result.Equals((int)seriennummerChar[11] - 48))
 | 
						|
            {
 | 
						|
                int pruefziffer = ((int)seriennummerChar[11] - 48);
 | 
						|
                Console.WriteLine("Die Prüfziffer {0} konnte validiert werden.", pruefziffer);
 | 
						|
            }
 | 
						|
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    class Program
 | 
						|
    {
 | 
						|
        static void Main(string[] args)
 | 
						|
        {
 | 
						|
            BanknotePruefen bp = new BanknotePruefen();
 | 
						|
 | 
						|
            string seriennummer = Console.ReadLine();
 | 
						|
            int erg = bp.pruefeSeriennummer(seriennummer);
 | 
						|
 | 
						|
            Console.WriteLine("Das Programm lieferte die Prüfziffer " + erg + " zurück.");
 | 
						|
 | 
						|
            // Konsolenfenster offen halten
 | 
						|
            Console.WriteLine("Druecken Sie zum Beenden eine beliebige Taste");
 | 
						|
            Console.ReadKey();
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |