C# Weiblich & Männlich in Geschlecht
Guten Abend liebes Volk,
ich habe eine kleine Gedkenbremse und ich hoffe dass der Eine oder Andere mir helfen könne. :)
Ich möchte ein C# Programm programmieren was das Geschlecht einmal in eine Variable einspeichern soll. Das Geschlecht darf als folgender String angegeben werden (Weiblich = Weiblich, W, w / Männlich = Männlich, M, m) Nun habe ich es schon mit Boolean versucht, For-Schleifen, nicht's hallf.
Nach der Consolen Eingabe
Console.WriteLine("\n\tGeben Sie das Geschlecht an : ");
Geschlecht = Convert.To???(Console.ReadLine());
Geben Sie das Geschlecht an : (Z.b.) Männlich (oder) W (oder) m (oder)
Console.WriteLine("Das Geschlecht ist "+ Geschlecht);
Das Geschlecht ist Weiblich (Indem Fall wenn "Weiblich, W oder w" eingegeben wird.
Vielen Dank schon einmal für alle Antworten, ich hoffe ich konnte alles soweit verständlich klar machen :)
5 Antworten
Du nimmst aus der eingabe den buchstaben ... wandelst den in einen einheitlich ... upper / lower pruefst welcher es ist mit ausstieg mit variablenzuweisung bei erreichen oder als fallback wenn falscher in fehlermeldung, dann gibst ja Deine variable aus ....
Wozu da ein boolean brauchst weiss ich nicht, aber die schleifenkonstruktion funktioniert ..... nur nicht mit FOR ... denn Du willst ja was **vergleichen ... ist es m oder w ;-)
Warum ich wohl nur den pseudocode rausgebe :-D
Wenn bool willst musst bei der eingabe einschraenken und die standardausgabe festlegen, danach pruefst ob die eingabe wahr fuer die eine ausgabe ist .... 1 und gibst tust zB nix ... standardausgabe oder falsch .... 0 dann alternative ausgabe.
Ich wuerde an der stelle nich mit variablen sondern direkt mit der ausgabe arbeiten.
Alternativ waere dass Deine Variabla GESCHLECHT bereits zugeordnet ist und bei falsch ... 0 .. eine neue zuordnung bekommt.
Mit FOR dabei zu arbeiten ist aber an der stelle machbar, aber unsinnig, besser ist doch der vergleich den eine andere schleife besser kann
Es geht nicht um schwer .... sondern darum wer was will
Wenn den pseudocode einfach passend abtippst .... in quellcode wandelst, dann hast vielleicht gelernt wie grundlegendes umsetzt.
Wenn ich Dir quellcode schreibe, uebst wenn ueberhaupt C&P lerneffekt ist NULL .... Du willst doch aber was lernen .... deshalb fragst ja :-P
Genau, Du willst eine fertige loesung, nicht den weg dahin ..... ich geb aber nur weg und ansatz zum selber erarbeiten. Ist im uebrigen durchaus gaengige methode bei denen, die das mit dem tippen koennen ....
Die simpelste Lösung wäre folgender Einzeler ... ein sog. "Train-Wreck":
bool Geschlecht = Console.ReadLine().TrimStart().ToLower().StartsWith("w");
Davon abgesehen würde ich die Variable in "Weiblich" umbenennen, da "Geschlecht" nicht aussagekräftig, bzw. sogar falsch ist. (Klingt so, als hätte der Benutzer bei True ein Geschlecht, und bei False keines.)
Anonsten viel Spaß noch beim Programmieren! :)
string geschlecht; //string def.
Console.WriteLine("\n\tGeben Sie das Geschlecht an : ");
geschlecht = Console.ReadLine(); //ist schon ein string
geschlecht.ToLower(); //alle Zeichen klein machen
if(geschlecht == "w" || geschlecht = "weiblich") // wenn w oder weiblich dan
{
geschlecht = "weiblich"; //falls geschlecht == w wäre
Console.WriteLine("Das Geschlecht ist "+ geschlecht); //ausgabe
}
else if (geschlecht == "m" || geschlecht == "männlich") //gegenstück zu w
{
geschlecht = "männlich";
Console.WriteLine("Das Geschlecht ist "+ geschlecht);
}
else //wenn nix zutrifft.
{
Console.WriteLine("Gibbet nich!");
}
geschlecht.ToLower(); //alle Zeichen klein machen
Du speicherst geschlecht.ToLower() nicht ab.
Schau dir mal if-Abfragen und die switch-Anweisung an.
If - else und Switch - Case ist mir bekannt, ich bräuchte einen Quellcode zur Veranschaulichung, wie du's genau meinst :)
Nein konntest du nicht.
Ein Quellcode als Veranschaulichung wäre nicht schlecht,
Mit Boolschen vergl sollte eigentlich gearbeitet werden, wie der name schon sagt "Boolsche vergleich" Lassen wir Boolean mal raus :)