#1
05.03.2015 um 09:54 Uhreinem freund von mir ist aufgefallen dass das so garnicht richtig funktioniert, hier nochmal eine funktionierende Version.
[spoiler]
C#-Code[/spoiler]
[spoiler]

using System; namespace IPvalidieren { class Program { static void Main() { string eingabe; int lang, raus, zahl = 0, dotzahl, zähler = 0, savei = 0; int[] no = new int[4]; System.Console.WriteLine("IPv4 Adresse zur Validierung eingeben"); eingabe = System.Console.ReadLine(); lang = eingabe.Length; dotzahl = lang - eingabe.Replace(".", "").Length; if (lang > 15 || lang < 7 || dotzahl != 3) { System.Console.WriteLine("IPv4 Formatierung fehlerhaft (123.123.123.123), zum beenden ENTER drücken"); System.Console.ReadLine(); return; } for (int i = 0; i != lang; i++) { if (! Int32.TryParse(Convert.ToString(eingabe[i]), out raus) || Convert.ToString(eingabe[i]) != "." ) { System.Console.WriteLine("IPv4 enthielt ungültige Zeichen, zum beenden ENTER drücken"); System.Console.ReadLine(); return; } } for (int j = 0; j != 4; j++) { for (int i = 0; i != lang; i++) { if (i == 0) { i += savei; } if (Int32.TryParse(Convert.ToString(eingabe[i]), out raus)) { zahl = zahl * 10 + raus; } else { savei = i + 1; break; } if (zahl > 255 || zahl < 0) { System.Console.WriteLine("Zahlenwert ungültig (0-255), zum beenden ENTER drücken"); System.Console.ReadLine(); return; } } no[zähler] = zahl; zähler++; zahl = 0; } foreach (int i in no) { System.Console.Write("{0}.", i); } System.Console.Write("\b validiert."); System.Console.WriteLine(); eingabe = System.Console.ReadLine(); System.Console.WriteLine("zum beenden ENTER drücken"); } } }
