C# :: Aufgabe #83 :: Lösung #13

13 Lösungen Lösungen öffentlich
#83

IP Adresse validieren

Anfänger - C# von MitoG - 02.01.2015 um 04:38 Uhr
Schreiben sie eine Consolenanwendung die eine IP Adresse als String entgegen nimmt und validieren sie diese.
Nutzen sie dabei nur den Namespace:
"System"
Der String muss als String verarbeitet werden.

Beispiele:

"192.168.0.1" <- True
"255.255.255.255" <- True
"1.1.256.302" <- False
#13
vote_ok
von stbehl (1640 Punkte) - 22.02.2018 um 13:55 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TrainYourProgrammer83
{
    class Program
    {
        static void Main(string[] args)
        {
            bool gültig = true;
            Console.WriteLine("IP-ADRESSENPRÜFUNG");
            Console.Write("Geben Sie eine IP-Adresse ein, die auf Gültigkeit überprüft werden soll: ");
            string eingabeIP = Console.ReadLine();

            //prüfen ob nur Zahlen und Punkte vorhanden
            if(eingabeIP.Length >= 16)
            {
                gültig = false;
            }
            else
            {
                for (int i = 0; i <= eingabeIP.Length-1; i++)
                {
                    if (!(Char.IsNumber(eingabeIP[i])) && eingabeIP[i] != '.')
                    {
                        gültig = false;
                    }
                }
            }
            //prüfen ob nur Zahlen und Punkte vorhanden ENDE

            if (gültig)
            {  
                string[] bloecke = eingabeIP.Split('.');
                for (int i = 0; i <= bloecke.Length -1; i++)
                {
                    //prüfe Anzahl der Ziffern der Dezimalblöcke
                    if (bloecke[i].Length >= 4)
                    {
                        gültig = false;
                    }
                    //prüfe Anzahl der Ziffern der Dezimalblöcke ENDE

                    //prüfe ob 0 an erster Stelle der Dezimalblöcke deren Länge >= 2
                    if (bloecke[i].Length >= 2)
                    {
                        if (Convert.ToInt32(bloecke[i][0]) == 48)
                        {
                            gültig = false;
                        }
                    }
                    //prüfe ob 0 an erster Stelle der Dezimalblöcke deren Länge >= 2 ENDE

                    //prüfe ob Werte der Dezimalblöcke > 255
                    if (Convert.ToInt32(bloecke[i]) > 255)
                    {
                        gültig = false;
                    }
                    //prüfe ob Werte der Dezimalblöcke > 255 ENDE
                }
            }


            Console.WriteLine(gültig);
            Console.ReadKey();


        }
    }
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben