Hallo,
im Main teil hab ich nur 4 Variablen deklariert, allerdings werden sie aber durch die deklaration auch aufgerufen... seht selbst...
bin relativ neu, anregungen gern gesehen
Das Programm gibt einfach die eingegeben IP aus, achtet allerdings bei der Eingabe auf Falscheingaben
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace falscheeingabe
{
class Program
{
static void Main(string[] args)
{
int ip = pruefena();
int ip2 = pruefenb();
int ip3 = pruefenc();
int ip4 = pruefend();
Console.WriteLine("----------------");
Console.WriteLine("Ihre IP: {0}.{1}.{2}.{3}", ip, ip2, ip3, ip4);
Console.ReadLine();
}
public static int pruefena()
{
int trua = 0;
int zahl = 0;
int iprage1 = 0;
while (trua == 0)
{
Console.Write("Ip Teil 1: ");
string input = Console.ReadLine();
if (!int.TryParse(input, out zahl))
{
Console.WriteLine("Bitte geben sie eine Zahl ein.");
continue;
}
if (zahl > 255)
{
Console.WriteLine("Bitte Werte zwischen 0 und 255 eingeben");
continue;
}
else
{
trua = 1;
iprage1 = int.Parse(zahl.ToString());
}
}
return iprage1;
}
public static int pruefenb()
{
int trua = 0;
int zahl = 0;
int ip_rage2 = 0;
while (trua == 0)
{
Console.Write("Ip Teil 2: ");
string input = Console.ReadLine();
if (!int.TryParse(input, out zahl))
{
Console.WriteLine("Bitte geben sie eine Zahl ein.");
continue;
}
if (zahl > 255)
{
Console.WriteLine("Bitte Werte zwischen 0 und 255 eingeben");
continue;
}
else
{
trua = 1;
ip_rage2 = int.Parse(zahl.ToString());
}
}
return ip_rage2;
}
public static int pruefenc()
{
int trua = 0;
int zahl = 0;
int ip_rage3 = 0;
while (trua == 0)
{
Console.Write("Ip Teil 3: ");
string input = Console.ReadLine();
if (!int.TryParse(input, out zahl))
{
Console.WriteLine("Bitte geben sie eine Zahl ein.");
continue;
}
if (zahl > 255)
{
Console.WriteLine("Bitte Werte zwischen 0 und 255 eingeben");
continue;
}
else
{
trua = 1;
ip_rage3 = int.Parse(zahl.ToString());
}
}
return ip_rage3;
}
public static int pruefend()
{
int trua = 0;
int zahl = 0;
int ip_rage4 = 0;
while (trua == 0)
{
Console.Write("Ip Teil 4: ");
string input = Console.ReadLine();
if (!int.TryParse(input, out zahl))
{
Console.WriteLine("Bitte geben sie eine Zahl ein.");
continue;
}
if (zahl > 255)
{
Console.WriteLine("Bitte Werte zwischen 0 und 255 eingeben");
continue;
}
else
{
trua = 1;
ip_rage4 = int.Parse(zahl.ToString());
}
}
return ip_rage4;
}
Was genau ist jetzt deine Frage?
Weeks of programming can save you hours of planning
Hallo Razzernp,
das sind grundlagen, die vorhande sein sollten (siehe dazu FAQ links im hauptmenü).
Aber trozdem eine kurze erklärung, was da passiert.
Du weißt den variablen in der Main-Methode jeweils eine Methode zu und wenn eine methode einer variablen zugewiesen wird, wird diese methode ausgeführt und dann der returnvalue der methode in die variable übernommen. Das ganze hat also schon seine richtigkeit, so wie es da passiert.
zur einführung kann ich dir das openbook C# empfehlen, steht ebenfalls links im menü unter dem punkt "Ressourcen"
MfG
Craze
Hallo,
es ist auch kein gutes Design, daß Du 4 Methoden hast die eigentlich alle dasselbe tun. Es würde eine Methode reichen, die einen Übergabeparameter bekommt.
Das alles sind aber in der Tat alles Grundlagen, bitte setzte Dich damit zuerst auseinander. Schau Dir dazu z.B. [FAQ] Wie finde ich den Einstieg in C#? an.
Beachte bitte auch diese Hinweise, Punkte 1.1 und 1.1.1
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Hallo Razzernp,
du solltest dich mit den Grundlagen der OOP befassen. Verwende doch einfache eine Klasse IP und ein paar Helfer-Methoden.
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.
Verwende doch einfache eine Klasse IP und ein paar Helfer-Methoden.
Da möchte ich noch anmerken, dass es bereits eine IPAddress Klasse im .NET Framework gibt: IPAddress
Diese hat sowohl die Methoden IPAddress.TryParse zur Validierung/Konvertierung eines Strings, als auch ToString (wie jedes object 😉 ) um die IPAdresse formatiert(x.x.x.x bzw ipv6) auszugeben.
Ausserdem wird zusätzlich IPv6 unterstützt.
Damit lässt sich der Code des Threaderstellers vermutlich auf das folgende kürzen:
static void Main(string[] args)
{
IPAddress ip = null;
string input = "";
while (!IPAddress.TryParse(input, out ip))
{
Console.Clear();
Console.Write("Please enter your ip: ");
input = Console.ReadLine();
}
Console.WriteLine("Your IP address is: " + ip.ToString());
Console.ReadKey();
}
Hallo Razzernp,
Bitte beachte Punkt 1.1.1 aus diesem Post [Hinweis] Wie poste ich richtig?.
Hier wird jedem geholfen, der eine detaillierte Frage stellt und sich bemüht die Grundlagen zu erlernen.
Wie schon Vitab geschrieben hat, gibt es im .NET Framework entsprechende Klassen dafür.