Zum Inhalt springen

Schwegelberger

Mitglieder
  • Gesamte Inhalte

    6
  • Benutzer seit

  • Letzter Besuch

Beiträge von Schwegelberger

  1. Am 14.7.2021 um 10:40 schrieb KeeperOfCoffee:

    Mal ganz unabhängig von deinem Code, da hätte ich nämlich hier und da schon was auszusetzen, mal erklärt wie du diese "Dauerschleife" hinbekommst:

    • Im Einsteigspunkt rufst du eine Methode auf, die du als "Menü" ansehen könntest. Hier forderst du den Benutzer auf Eingaben auf.
    • Dann prüfst du die Eingabe und führst über ne Switch die entsprechende Methode aus (Addieren, Subtrahieren usw.).
    • Statt die Eingaben zu konvertieren, prüfst du im Switch einfach auf den richtigen String, so kannst du auch "off" abfangen und das Programm beenden.
    • Am Ende der jeweiligen Methoden rufst du die Methode für das Menü erneut auf. Vorher nutzt du Console.Clear() um die Konsole zu leeren.

     

     

                //Taschenrechner V2.0
    
                Double zahl1, zahl2, ergebnis;
                Int32 art;
    
                Console.Write("Gib deine erste Zahl ein: ");
                zahl1 = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("1 = Addieren");
                Console.WriteLine("2 = Subtrahieren");
                Console.WriteLine("3 = Multiplizieren");
                Console.WriteLine("4 = Dividieren");
                Console.WriteLine("5 = Potenzrechnen");
                Console.WriteLine("6 = Wurzel ziehen");
                Console.Write("Wähle eine Rechenart aus: ");
                art = Convert.ToInt32(Console.ReadLine());
                Console.Write("Gib deine zweite Zahl ein: ");
                zahl2 = Convert.ToDouble(Console.ReadLine());
    
                switch (art)
                {
                    case 1:
                        ergebnis = zahl1 + zahl2;
                        Console.WriteLine("Ergebnis: " + ergebnis);
                        break;
    
                    case 2:
                        ergebnis = zahl1 - zahl2;
                        Console.WriteLine("Ergebnis: " + ergebnis);
                        break;
    
                    case 3:
                        ergebnis = zahl1 * zahl2;
                        Console.WriteLine("Ergebnis: " + ergebnis);
                        break;
    
                    case 4:
                        ergebnis = zahl1 / zahl2;
                        Console.WriteLine("Ergebnis: " + ergebnis);
                        break;
    
                    case 5:
                        ergebnis = Math.Pow(zahl1, zahl2);
                        Console.WriteLine("Ergebnis: " + ergebnis);
                        break;
    
                    case 6:
                        ergebnis = Math.Sqrt(zahl1);
                        Console.WriteLine("Ergebnis: " + ergebnis);
                        break;
    
                    default:
                        Console.WriteLine("Ungültige eingabe.");
                        Console.Write("Wähle eine Rechenart aus: ");
                        break;
                }
    
                Console.ReadKey();

    Soweit bin ich gekommen, jedoch verstehe ich danach nichts mehr 😕

    Könntest du es mir bitte etwas ausführlicher erklären ^^´?

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

  3. 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 :P

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

  4. 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();

     

  5. 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();

     

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...