C# - Wie kann man eine Schleife erstellen, die einen solange nach einem Wert abfragt, bis man ihn eingibt?
Hallo, ich muss einen "Währungsrechner" programmieren, der von Euro zu Dollar rechnet und umgekehrt. Hab auch alles geschafft aber hab ein Problem bei der Abfrage, welchen "Modus" der Benutzer wählen will. Man kann zwischen 2 Modi wählen, Euro in Dollar und Dollar in Euro. Das Problem ist jetzt, wenn der Benutzer eine andere Zahl als 1 oder 2 eingibt, was den Modus bestimmt, wird das Programm einfach geschlossen. Ich möchte aber, dass das Programm den Benutzer solange sagt, dass er einen der beiden Modi auswählen soll, bis er es macht.
So sieht der Code aus:
Also wie gesagt, habe ich noch nichts geschrieben, was dem Benutzer sagt, dass er eins der beiden auswählen soll. Hab bisschen ausprobiert aber irgendwie funktionierts nicht. LG
2 Antworten
![](https://images.gutefrage.net/media/user/TechPech1984/1632773764038_nmmslarge__12_0_519_519_b8bdbc8023c4e7722d66db9f2af2d5fd.png?v=1632773764000)
eine while schleife drumrum und die bedingung muss solange wahr sein bis halt das richtige gedrückt wurde .
![](https://images.gutefrage.net/media/user/ZickZack7/1631689869724_nmmslarge__196_50_148_148_26cab12400f3874b3cbf24804ffcccbe.png?v=1631689870000)
Danke, habs jetzt aber jetzt hab ich ein anderes Problem XD
Versuche es erstmal selbst zu fixxen
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
int choice = 0;
bool try_inp = true;
do {
try {
choice = Convert.ToInt32(Console.ReadLine()); }
catch(FormatException) {
Console.ReadLine("Es dürfen nur Zahlen eingegeben werden") }
if(choice == 1 || choice == 2)
try_inp = false;
while(try_inp);
Dashier wäre ein möglicher Code für die Validierung (habe ihn jetzt nicht getestet, ich hoffe er funktioniert)...