Einfacher Taschenrechner mit Potenn..



  • Guten Morgen an das C++ Forum!

    habe vor kurzem eine Aufgabe ein Taschenrechner in C# Console zu erstellen. Diese Fuktioniert eigentlich ganz gut. Jetzt muss ich den Taschenrechner noch erweitern um die Potenz funktion so das: 1. Er die Zahlen annnimt die eingelesen werden (erledigt). 2. Potenz in dem Auswahl Menü erscheint (erledigt). 3. Die erste Zahl dient als Hauptzahl und die zweite als seine Potenz (und da habe ich Problem es in C# umzusetzen). In c# ist es leider nicht möglich ein x ^ y umzusetzen weil ^ für was anderes reserviert ist. Das wäre ja zu einfach :p Hat vielleicht jemand ein Tipp für mich 😕 😕 😕

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Taschenrechner
    {
    
        class Program
        {
    // hier setze ich die funktionen von Taschenrechner
            static int Addition(int x, int y)
            {
                return (x + y);
            }
            static int Subtraktion(int x, int y)
            {
                return (x - y);
            }
            static int Multiplikation(int x, int y)
            {
                return (x * y);
            }
    // und hier habe ich einfach keine Idee
            static int Division(int x, int y)
            {
                return (x / y);
            }
    
            static int Potenz(int x, int y)
            {
                return (x ^ y);
            }
    
            static void Main(string[] args)
            {
                char taschenrechner;
                int zahl1, zahl2;
    
                Console.WriteLine("Bitte das erste Zahl eingeben: \n");
                zahl1 = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("Bitte das zweite Zahl eingeben: \n");
                zahl2 = Convert.ToInt32(Console.ReadLine());
    
    // hier setze ich Menü von Taschenrechner
                Console.WriteLine("a  Addition");
                Console.WriteLine("b  Substration");
                Console.WriteLine("c  Multiplikation");
                Console.WriteLine("d  Division");
                Console.WriteLine("e  Potenz\n");
                Console.Write("Wählen Sie Ihre Option: \n");
    
                taschenrechner = Convert.ToChar(Console.Read());
    
               switch (taschenrechner)
                {
                    //Zweig für a
                        case 'a':
    
                Console.WriteLine("Das ergebnis lautet: {0}", Addition(zahl1, zahl2));
    
                        break;
    
                       //Zweig für b
                        case 'b':
    
                Console.WriteLine("Das ergebnis lautet: {0}", Subtraktion(zahl1, zahl2));
    
                        break;
    
                       //Zweig für c
                        case 'c':
    
                        Console.WriteLine("Das ergebnis lautet: {0}", Multiplikation(zahl1, zahl2));
    
                        break;
    
                        //Zweig für d
                        case 'd':
    
                        Console.WriteLine("Das ergebnis lautet: {0}", Division(zahl1, zahl2));
    
                        break;
    // und hier wollte ich mal die Potenz berechnen
                        //Zweig für e
                        case 'e':
    
                        Console.WriteLine("Das ergebnis lautet: {0}", Potenz(zahl1, zahl2));
    
                        break;
    
                }
            }
        }
    }
    




  • Du könntest auch eine kleine Schleife programmieren und dann die Zahl so oft mit sich selbst multiplizieren wie der Exponent-1 angibt. Das geht aber nur mit ganzzahligen positiven Exponenten. Oder ist dir das zu doof?



  • Das ist natürlich eine gute Idee.

    🤡

    //Das habe ich zusätzlich ergänzt um Potenz zu berechnen
    //zahl1 = Basiszahl, zahl2 = Exponent
    //Zweig für e
                    case 'e':
    
                    int zahl3;
                    zahl3 = 1;
    
                    for (int i = 1; i <= zahl2; i++)
                {
                    zahl3 = zahl3 * zahl1;
                }
                    Console.WriteLine("\nDas ergebnis lautet: {0}\n", zahl3);
    
                    break;
    

    Und es scheint zu funktionieren! 😮 👍 💡



  • Und was machst du, wenn der Exponent keine ganze Zahl ist?
    Den Hinweis auf Math.Pow() nicht beachtet! 👎

    double x1 = 1.50;
      double x2 = 3.75;
      double x3 = Math.Pow(x1, x2);  // Ergebnis  4.574
    


  • Hallo berniebutt,

    sein Taschenrechner verwendet bisher aber nur "int" 😉
    Einzig negative Exponenten sollte man dann noch abfangen (oder aber als Ergebnis 0 definieren).



  • Th69 schrieb:

    Hallo berniebutt,

    sein Taschenrechner verwendet bisher aber nur "int" 😉
    Einzig negative Exponenten sollte man dann noch abfangen (oder aber als Ergebnis 0 definieren).

    Es ist halt Anfänger Taschenrechner 🙄 !

    🤡


Anmelden zum Antworten