Taschenrechner



  • Morgen hab ne aufgabe bekommen und soll einen Taschenrechner programmieren,soweit macht er alles außer : 1. bei divisio zb 3/0 bricht es ab ..da hätte ich gern das dann kommt division durch null nicht möglich und das 2 te ist das er auf 2 stellen nach dem Komma runden soll
    Über Hilfe würde ich mich freuen
    Hier mein Quelltext

    #include <iostream>
    using namespace std;

    // Hauptprogramm
    int main ()
    {
    char Wahl;

    // Variablen fuer die Operanden
    short zahl1, zahl2;
    // Variable fuer den Operator
    int zeichen;
    do
    {
    // Einlesen der Formel
    cout << "Suchen Sie sich die Operation aus:\n";
    cout << "Verwendetwerden darf 1. (+) Addition, 2. (-) Subtraktion\n";
    cout << "3. (*) Multiplikation und 4. (/) Division" << endl;
    cout << "Welche Operation soll ausgeführt werden: ";
    cin >> zeichen;
    cout << "Bitte geben Sie die erste Zahl ein: ";
    cin >> zahl1;
    cout<< " bitte geben Sie die zweite Zahl ein: ";
    cin >> zahl2;

    // Ergebnissausgabe vorbereiten
    cout << "Ergebnis: ";
    // Nun den Operator auswerten
    switch (zeichen)
    {
    case 1:
    cout << zahl1+zahl2;
    break;
    case 2:
    cout << zahl1-zahl2;
    break;
    case 3:
    cout << zahl1*zahl2;
    break;
    case 4:
    cout << zahl1/zahl2;
    if (zahl2 ==0)
    cout<<"Defision durch 0 nicht möglich";

    break;
    default:
    cout << "Nur die Operatoren +, -, * und / sind zugelassen!";
    }
    // Zeilenvorschub ausgeben
    cout << endl;
    cout<<"\n\n M\224chten Sie eine weitere Aufgabe berechnen? <j/n>? : ";
    cin>>Wahl;

    }
    while(Wahl=='j' || Wahl=='J');
    system ("pause");

    }

    Ps: habs jetzt mal selba umgeschrieben



  • Vielleicht solltest du die Prüfung auf Null machen, bevor du die Division durchführst.

    Code-Tags wären auch nicht schlecht.



  • Ich hab grade damit angefangen ,also programmieren mit c / c++..
    hab da noch nicht so den durchblick,was was is



  • bitte [cpp]-Tags nutzen, das macht das ganze einfacher zu lesen...

    soweit schonmal nicht schlecht... die Ueberpruefung, ob zahl2==0 ist, solltest du VOR der Berechnung machen

    case 4:
        if ( zahl2 == 0 )
        {
            cout << "Division durch 0!" << endl;
            break;
        }
        cout << fixed << setprecision( 2 ) << zahl1 / zahl2 << endl;
    


  • wie mach ich das mit dem Runden ??? Ich hab garkeine ahnung



  • vielen lieben dank...wie soll ich da alleine druf kommen
    oh man hab für den taschenrechner alleine schon 4 stunden gebraucht



  • Lydia schrieb:

    wie soll ich da alleine druf kommen

    Google: c++ cout runden



  • ach so ich weiß nicht was das sein soll ?? setprecision er zeigt mir da fehler oh man ich sollte mal lieber nen buch übers programmieren lesen ...also da fand ich delphi viel einfacher



  • ich dank euch es geht 🙂 Topp 👍
    danke danke danke



  • ja falls es mit setprecision nicht funktioniert, habt ihr vll einfach vergessen iomanip zu includen (#include<iomanip>) , oder bei der ausgabe cout << fixed << setprecision( 2 ) das fixed vergessen, wenn ihr beides gemacht habt dürfte es eig. funktionieren



  • ich habs einfach raus genommen jetzt gehts auch nur noch nicht das runden^^


Anmelden zum Antworten