Taschenrechner mit Funktionen und Schleife



  • Das könnte auch daran liegen,
    ... dass exakt diese Aufgabe hier schon mehrmals gestellt wurde (man suche z.B. nach "Taschenrechner" oder auch nach "Sie haben sich für die Addition entschieden")
    ... dass du nicht den C++-Button benutzt hast (ist jetzt von einem Moderator berichtigt worden)

    Außerdem könntest du selbst auf die Idee kommen, im Hauptprogramm z.B. die Auswahl

    if (auswahl == 1) Addition();
        if (auswahl == 2) Subtraktion();
        if (auswahl == 3) Division();
        if (auswahl == 4) Multiplikation();
    

    noch um einen weiteren Fall zu ergänzen:

    if (auswahl == 5) Potenzierung();
    

    (und an den anderen Stellen entsprechend ebenfalls ergänzen).

    Außerdem könntest/solltest du den gemeinsamen Code zum Einlesen der Zahlen nicht in jeder Funktion wiederholen. (Lehrer vermutlich unfähig)



  • ich habe schon etwas weiter gemacht aber ich klappt nicht.

    void Potenzen()
    {
    int i, Basis, Exponent, Ergebnis;

    cout <<"Geben Sie die Basis ein:\n";
    cin >> Basis;
    cout <<"Geben Sie den Exponenten ein:\n";
    cin >> Exponent;
    for(i=0; i<Exponent; i=+1)
    {
    Ergebnis = Ergebnis ^ Basis;
    }
    cout << Ergebnis << '\n';
    }
    int main()
    {
    int auswahl;
    cout <<"Taschenrechner\n";
    cout <<"\n";
    cout <<"Sie haben folgende Rechenoptionen:\n";
    cout <<"1. Addition\n";
    cout <<"2. Subtraktion\n";
    cout <<"3. Division\n";
    cout <<"4. Multiplikation\n";
    cout <<"5. Potenzen\n";
    cin >> auswahl;

    if (auswahl == 1) Addition();
    if (auswahl == 2) Subtraktion();
    if (auswahl == 3) Division();
    if (auswahl == 4) Multiplikation();
    if (auswahl == 5) Potenzen();

    return 0;
    }


  • Mod

    Wir sind nicht doof. Wer das erste Programm geschrieben hat, kann auch beide kombinieren. Das ist unmittelbar offensichtlich für jeden mit der geringsten Ahnung vom Thema. Koffervergleich: Das erste Programm demonstriert, wie jemand ein T-Shirt, eine Hose, und ein Handtuch in einen Koffer packt. Das zweite Programm demonstriert, wie er eine Badehose in einen Koffer packt. Jetzt fragt diese Person, wie sie die Badehose mit in den Koffer mit dem T-Shirt, der Hose, und dem Handtuch packen kann? Absolut unglaubwürdig.

    Faulen Säcken, die ihre Hausaufgaben nicht machen wollen, wird hier durchaus erstaunlich oft geholfen. Bei Leuten, die abschreiben, das Werk als ihr eigenes ausgeben, und dann auch noch scheinheilig abstreiten, wenn sie erwischt werden, ist aber relativ unwahrscheinlich, dass jemand helfen möchte.



  • ich kann natürlich die Potenz genauso "einpacken" wie zb. die Addition aber die Potenz soll durch eine Schleife laufen was die anderen nicht sind.
    Da liegt mein Problem und nicht wie oft ich was "einpacke".



  • backhas schrieb:

    ich habe schon etwas weiter gemacht aber ich klappt nicht.

    Das ist ja auch nicht der Potenzalgorithmus, denn du im Eröffnungspost benutzt hast.



  • Letzter Hilfsversuch von mir: du musst auch korrekt kopieren!

    Im Ursprungspost von dir hieß es:

    int Ergebnis =1;
        (...)
        for(int i=0; i<Exponent; i=i+1)
        {
            Ergebnis = Ergebnis*Base;
        }
    

    Daraus hast du nun gemacht:

    int (...) Ergebnis; 
    (...)
    for(i=0; i<Exponent; i=+1) 
    { 
    Ergebnis = Ergebnis ^ Basis; 
    }
    

    Man schaue genau hin: die Initialisierung (das "=1") fehlt und das Mal-Zeichen "*" hast du durch exklusives Oder "^" ersetzt.



  • void Potenzen()
    {
    int i, Basis, Exponent, Ergebnis=1;
    cout <<"Geben Sie die Basis ein:\n";
    cin >> Basis;
    cout <<"Geben Sie den Exponenten ein:\n";
    cin >> Exponent;
    for(i=0; i<Exponent; i=+1)
    {
    Ergebnis = Ergebnis * Basis;
    }
    cout << Ergebnis << '\n';
    }

    Es klappt nicht.
    Ich hab bestimmt Melonen auf den Augen.



  • backhas schrieb:

    Ich hab bestimmt Melonen auf den Augen.

    Du bist zu dumm deinen eigen Code zu kopieren.



  • backhas schrieb:

    Es klappt nicht.

    Ja, und der Kompiler sagt dir auch warum. Inklusive Zeile.



  • Ich bin soooooo bescheuert.
    Das kommt davon wenn man hier und da probiert, und die hälfte dabei übersieht.
    Ich danke euch echt alle, auch ganz besonders die, die mir den Kopf gewaschen haben.

    Danke



  • manni66 schrieb:

    Du bist zu dumm deinen eigen Code zu kopieren.

    Wäre es da nicht besser, gar nichts zu antworten?



  • audacia schrieb:

    manni66 schrieb:

    Du bist zu dumm deinen eigen Code zu kopieren.

    Wäre es da nicht besser, gar nichts zu antworten?

    Nein


Anmelden zum Antworten