Schwegelberger Geschrieben 25. Juni 2021 Geschrieben 25. Juni 2021 Hallo zusammen, ich habe Probleme bei meinem Taschenrechner. Das fängt damit an dass die Zahlen und Rechenarten nicht erkannt werden und das Programm bei den Zeilen 22-24 Probleme hat aber ich kann dies nicht finden. Ich bitte um Hilfe, danke im voraus. Int32 zahl1, zahl2, ergebnis; string art; zahl1 = Convert.ToInt32(Console.ReadLine()); art = Convert.ToString(Console.ReadLine()); zahl2 = Convert.ToInt32(Console.ReadLine()); if (Console.ReadLine() == "plus") { ergebnis = zahl1 + zahl2; Console.WriteLine(ergebnis); } else if (Console.ReadLine() == zahl1 + "minus" + zahl2) { ergebnis = zahl1 - zahl2; Console.WriteLine(ergebnis); } else if (Console.ReadLine() == zahl1 + "mal" + zahl2) { ergebnis = zahl1 * zahl2; Console.WriteLine(ergebnis); } else if (Console.ReadLine() == zahl1 + "geteilt" + zahl2) { ergebnis = zahl1 / zahl2; Console.WriteLine(ergebnis); } Console.ReadKey(); Zitieren
alex123321 Geschrieben 25. Juni 2021 Geschrieben 25. Juni 2021 Warum liest du oben erstmal zwei Zahlen und die Rechenart ein und benutzt das dann nicht weiter? Benutz doch die Variablen, um zu prüfen welcher If-Block auszuführen ist. sonicschall und Schwegelberger reagierten darauf 1 1 Zitieren
TobiasDressler Geschrieben 26. Juni 2021 Geschrieben 26. Juni 2021 (bearbeitet) if (art == "plus") { ergebnis = zahl1 + zahl2; Console.WriteLine(ergebnis); } Vergleich die String Dafür hast du sie doch oben erstellt Bearbeitet 26. Juni 2021 von TobiasDressler Schwegelberger reagierte darauf 1 Zitieren
RipperFox Geschrieben 27. Juni 2021 Geschrieben 27. Juni 2021 if (Console.ReadLine() == "plus") Der Nutzer muss also nachdem er z.B. 1 <Enter> plus <Enter> 2 <Enter> eingegeben hat nocheinmal plus <Enter> eingeben, damit der IF-Block ausgeführt wird. Vermutlich nicht ganz, was du wolltest, oder? else if (Console.ReadLine() == zahl1 + "minus" + zahl2) Ok, du vergleichst den Rückgabestring von Console.Readline() mit einem aus zahl1, "minus" und zahl2 zusammengesetztem String. Mit den Zahlen von oben (zahl1 = 1, zahl2 = 2) müsste man hier "1minus2" eingeben, damit in den IF-Block gesprungen wird Die Programmierung macht genau das, was du geschrieben hast Evtl. noch mal genau überlegen, welche Schritte nötig sind: Was muss ich vom Benutzer abfragen, wie lege ich das in Variablen ab, wie muss ich damit weiter verfahren.. Es hilft auch ungemein, wenn das Programm auch mal was ausgibt - z.B. erkennst Du schnell an welcher Stelle das Programm ist wenn zu an die entsprechende Stelle einfügst: Console.WriteLine("Bitte Zahl1 eingeben"); Schwegelberger reagierte darauf 1 Zitieren
allesweg Geschrieben 28. Juni 2021 Geschrieben 28. Juni 2021 welche konkrete Probleme hast du denn? Du schweifst hier nämlich auch schon wieder ab! Schwegelberger reagierte darauf 1 Zitieren
Schwegelberger Geschrieben 30. Juni 2021 Autor Geschrieben 30. Juni 2021 Am 27.6.2021 um 07:56 schrieb RipperFox: if (Console.ReadLine() == "plus") Der Nutzer muss also nachdem er z.B. 1 <Enter> plus <Enter> 2 <Enter> eingegeben hat nocheinmal plus <Enter> eingeben, damit der IF-Block ausgeführt wird. Vermutlich nicht ganz, was du wolltest, oder? else if (Console.ReadLine() == zahl1 + "minus" + zahl2) Ok, du vergleichst den Rückgabestring von Console.Readline() mit einem aus zahl1, "minus" und zahl2 zusammengesetztem String. Mit den Zahlen von oben (zahl1 = 1, zahl2 = 2) müsste man hier "1minus2" eingeben, damit in den IF-Block gesprungen wird Die Programmierung macht genau das, was du geschrieben hast Evtl. noch mal genau überlegen, welche Schritte nötig sind: Was muss ich vom Benutzer abfragen, wie lege ich das in Variablen ab, wie muss ich damit weiter verfahren.. Es hilft auch ungemein, wenn das Programm auch mal was ausgibt - z.B. erkennst Du schnell an welcher Stelle das Programm ist wenn zu an die entsprechende Stelle einfügst: Console.WriteLine("Bitte Zahl1 eingeben"); Danke, das hat mir geholfen. Jetzt funkt es Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.