C# Weiblich & Männlich in Geschlecht

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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 ;-)


Asonger 
Fragesteller
 01.12.2014, 17:19

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 :)

0
James131  01.12.2014, 17:25
@Asonger

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

2
Asonger 
Fragesteller
 01.12.2014, 18:33
@James131

Wo ist denn das so schwer zur "Veranschaulichung" einen kurzen Quellcode zu schreiben ;)

Das Prinzip versteh ich doch, ich brauche eine Smart-Lösung für die Deklaration und Eingabe -> QUELLCODE :P

0
James131  01.12.2014, 18:48
@Asonger

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 ....

4
Asonger 
Fragesteller
 01.12.2014, 19:19
@James131

Ich habe dir eine Anfrage geschickt :)

0
CSharpBeginner  09.08.2018, 16:38

In diesem Fall kann kann sagen der Weg ist das Ziel ;)

0

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!");
}

Reyha24  01.12.2014, 21:55
geschlecht.ToLower(); //alle Zeichen klein machen

Du speicherst geschlecht.ToLower() nicht ab.

0

Schau dir mal if-Abfragen und die switch-Anweisung an.


Asonger 
Fragesteller
 01.12.2014, 17:15

If - else und Switch - Case ist mir bekannt, ich bräuchte einen Quellcode zur Veranschaulichung, wie du's genau meinst :)

0

Nein konntest du nicht.


Asonger 
Fragesteller
 01.12.2014, 17:20

Ich konnte genau "was" nicht ?

0