Schwegelberger
-
Gesamte Inhalte
6 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von Schwegelberger
-
-
Hallo, Ich bin relativ weit gekommen mit dem Taschenrechner aber stehe jedes mal vor neuen Herausforderungen. Ich bin dabei meinen Taschenrechner zu optimieren und soll kein einfacher sein. Ich möchte dass der Taschenrechner in Dauerschleife läuft bis der Benutzer off eintippt, jedoch weiß ich nicht wie ich das hinbekommen kann und welche Schleife ich nehmen soll 😕
// Taschenrechner V1.0 Double zahl1, zahl2, ergebnis; Int32 art; Console.WriteLine("Gib deine erste Zahl ein:"); zahl1 = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Gib eine der folgenden Rechenarten ein:"); Console.WriteLine("1|plus"); Console.WriteLine("2|minus"); Console.WriteLine("3|mal"); Console.WriteLine("4|geteilt"); Console.WriteLine("5|hoch"); Console.WriteLine("6|wurzel"); Console.WriteLine("off"); art = Convert.ToInt32(Console.ReadLine()); if (art != 1 && art != 2 && art != 3 && art != 4 && art != 5 && art != 6) { Console.WriteLine("Error"); } else { if (art == 6) { ergebnis = Math.Sqrt(zahl1); ergebnis = Math.Round(ergebnis, 3); Console.WriteLine("Ergebnis: " + ergebnis); } else { Console.WriteLine("Gib deine zweite Zahl ein:"); zahl2 = Convert.ToDouble(Console.ReadLine()); if (art == 1) { ergebnis = zahl1 + zahl2; ergebnis = Math.Round(ergebnis, 3); Console.WriteLine("Ergebnis: " + ergebnis); } else if (art == 2) { ergebnis = zahl1 - zahl2; ergebnis = Math.Round(ergebnis, 3); Console.WriteLine("Ergebnis: " + ergebnis); } else if (art == 3) { ergebnis = zahl1 * zahl2; ergebnis = Math.Round(ergebnis, 3); Console.WriteLine("Ergebnis: " + ergebnis); } else if (art == 4) { ergebnis = zahl1 / zahl2; ergebnis = Math.Round(ergebnis, 3); Console.WriteLine("Ergebnis: " + ergebnis); } else if (art == 5) { ergebnis = Math.Pow(zahl1, zahl2); ergebnis = Math.Round(ergebnis, 3); Console.WriteLine("Ergebnis: " + ergebnis); } } } Console.ReadKey();
Ich würde mich sehr auf eine Hilfreiche Antwort freuen und mich herzlich bedanken
-
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
-
Oh sorry, ich hab gedacht dass es nach der Anmeldung nicht abgeschickt wurde und habs nicht gesehen. Ich komm hiermit noch nicht so gut zurecht..
-
Hallo, ich lerne zurzeit C# in der Schule jedoch bin ich abgeschweift und versuche vom Anfang zu programmieren also mit Konsole. Ich bin bei meinem Taschenrechner auf ein Problem gestoßen und weiß nicht woran das liegt. Könnte mir jemand behilflich sein ^.^´?
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();
-
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();
Taschenrechner c# console dauerschleife
in Anwendungsentwickler und Programmierer
Geschrieben
Soweit bin ich gekommen, jedoch verstehe ich danach nichts mehr 😕
Könntest du es mir bitte etwas ausführlicher erklären ^^´?