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
2105434

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.