C# :: Aufgabe #74 :: Lösung #3
4 Lösungen

#74
IBAN Checksumme prüfen
Anfänger - C#
von pocki
- 26.11.2014 um 12:27 Uhr
Schreibe eine Funktion, welche einen IBAN als Zeichenfolge entgegen nimmt.
Bei diese Zeichenfolge soll überprüft werden, ob die Checksumme/Prüfsumme für eine gültige IBAN stimmt.
Die unterschiedliche Schreibweisen (mit und ohne Freiraum) sowie die unterschiedlichen Längen je nach Land sind ebenfalls zu berücksichtigen.
Beispiele der Schreibweisen:
DE19 1234 1234 1234 1234 12
DE19-1234-1234-1234-1234-12
DE19123412341234123412
AT19 1234 1234 1234 1234
CH19 1234 1234 1234 1234 1
Bei diese Zeichenfolge soll überprüft werden, ob die Checksumme/Prüfsumme für eine gültige IBAN stimmt.
Die unterschiedliche Schreibweisen (mit und ohne Freiraum) sowie die unterschiedlichen Längen je nach Land sind ebenfalls zu berücksichtigen.
Beispiele der Schreibweisen:
DE19 1234 1234 1234 1234 12
DE19-1234-1234-1234-1234-12
DE19123412341234123412
AT19 1234 1234 1234 1234
CH19 1234 1234 1234 1234 1
#3

von birdlab (350 Punkte)
- 11.12.2014 um 10:53 Uhr
Dieses Programm arbeitet mit einer Windows Forms Oberfläche. Ich habe es nach meinem eigenen Geschmack verfeinert.
Bei Anregungen und Anmerkung gern ein Kommentar da lassen, bin nämlich noch ein Beginner in C#!
C#-Code
Bei Anregungen und Anmerkung gern ein Kommentar da lassen, bin nämlich noch ein Beginner in C#!

namespace typ_IbanPrüfung { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public string iban { get; set; } private void button1_Click(object sender, EventArgs e) { clearIBAN(iban); } private void button2_Click(object sender, EventArgs e) { selectLand(); } private string clearIBAN(string iban) { iban = textBox1.Text; string ibanCleared = iban.ToUpper().Replace(" ", "").Replace("-", ""); string ibanSwapped = ibanCleared.Substring(4) + ibanCleared.Substring(0, 4); string sum = ibanSwapped.Aggregate("", (current, c) => current + (char.IsLetter(c) ? (c - 55).ToString() : c.ToString())); var d = decimal.Parse(sum); if ((d % 97) == 1) { label3.Text = "Die Iban wurde korrekt auf Ihre Gültikeit geprüft!"; } else { label3.Text = "Die Iban ist falsch. Bitte überprüfen sie die Eingabe."; } return iban; } private void selectLand() { string land = comboBox1.Text; switch (land) { case "DE": textBox1.Text = "DE" + clearIBAN(iban); break; case "AT": textBox1.Text = "AT" + clearIBAN(iban); break; case "CH": textBox1.Text = "CH" + clearIBAN(iban); break; } } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1