C#: Wie kann ich die Eingabe eingrenzen?
Es geht um eine Abfrage nach einer Zahl zwischen 1 und 10. Solange die Zahl grösser oder kleiner ist, als gefordert, wird eine Meldung ausgegeben, dass die Eingabe nicht korrekt war und nach einer neuen Zahl gefragt.
Kann mir jemand helfen?
3 Antworten
while(true){
Console.WriteLine("Zahl eingeben: ");
int userZahl = Convert.ToInt32(Console.ReadLine());
if(userZahl>0 && userZahl<=10){
break;
}
else{
Console.WriteLine("Bitte geben Sie nur Zahlen von 1-10 an");
}
}
ja aber wie mache ich, dass es sich immer wiederholt wenn die zahl < 10 ist
Das stimmt natürlich! Da hatte sich wohl etwas Python syntax eingeschlichen.
Achso, wir dachten dann soll es beendet sein, dann nimmst du
break;
weg und setzt dafür das ein:
Console.WriteLine("Die Eingabe war korrekt");
Dank nicht mir, dank whgoffline ^^
Er hat den Code hier rein gesetzt, ich hätte dich weiter bei meinem Beispiel schmoren lassen ^^
Pseudocode
integer min = 1;
integer max = 10 ;
integer zufall = zufallszahl(min bis max) ;
integer eingabe = 0 ;
while (zufall != eingabe ) {
eingabe = input()
if (eingabe > zufall ) { /* zu groß */ }
if (eingabe < zufall ) { /* zu klein */ }
if (eingabe < min && eingabe > max ) { /* gesuchter wert liegt im bereich von min bis max */ }
}
/* ausgabe hurra gefunden */
Ich würde ne While Schleife machen, die Zahl abfragen und mit if kontrollieren ob sie größer oder kleiner ist.
Falls nicht, Schleife beenden.
Ansonsten Ausgabe das die Zahl falsch war und dann geht die While wieder von vorne los.
Das wäre nicht mal C# relevant, da du das in jeder Sprache so schreiben würdest.
egal kannst du es bitte machen für mich??
bruder das geht nicht