#1
05.03.2015 um 09:54 Uhr
einem freund von mir ist aufgefallen dass das so garnicht richtig funktioniert, hier nochmal eine funktionierende Version.
[spoiler]
Quellcode ausblenden C#-Code
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");
        }
    }
}
[/spoiler]
post_arrow
115 0