Taschenrechner Problem



  • Der Compiler zeigt einen Fehler an, den ich aber nicht finden kann, könnt ihr mir da weiterhelfen?

    // Taschenrechner (C) by DoguS Darici
    // www.Fire-Cage.de | radditz_dbzpower@yahoo.de | 309989058
    
    //-----------------------------------
    
    #include <iostream>
    #include <conio.h>
    
    //-----------------------------------
    
    using namespace std
    
    int main()
    {
    
    int Zahl1;
    int Zahl2;
    int Rechnung;
    int Loesung;
    
    cout << "Bitte geben Sie 2 Zahlen ein!" << endl;
    cin >> Zahl1 << endl;
    cin >> Zahl2 << endl;
    cout << "Schreiben Sie addieren, wenn Sie beide Zahlen addieren wollen" << endl;
    cout << "Schreiben Sie subtrahieren, wenn Sie beide Zahlen subtrahieren wollen" << endl;
    cout << "Schreiben Sie multiplizieren, wenn Sie beide Zahlen multiplizieren wollen" << endl;
    cout << "Schreiben Sie dividieren, wenn Sie beide Zahlen dividieren wollen" << endl;
    cin >> Rechnung;
    // ----------------------ADDIEREN-------------------------
    if (Rechnung == addieren)
    Loesung = Zahl1 + Zahl2
    cout << "Es kommt bei der Addition von" << Zahl1 << "und" << Zahl2 << "," << Loesung << "raus" << endl;
    cout << "(c) By DoguS";
    // ----------------------SUBTRAHIEREN---------------------
    if (Rechnung == subtrahieren)
    Loesung = Zahl1 - Zahl2
    cout << "Es kommt bei der Subtraktion von" << Zahl1 << "und" << Zahl2 << "," << Loesung << "raus" << endl;
    cout << "(c) By DoguS";
    // ----------------------MULTIPLIZIEREN-------------------
    if (Rechnung == multiplizieren)
    Loesung = Zahl1 * Zahl2
    cout << "Es kommt bei der Multiplikation von " << Zahl1 << "und" << Zahl2 << "," << Loesung << "raus" <<endl;
    cout << "(c) By DoguS";
    // ----------------------DIVIDIEREN-----------------------
    if (Rechnung == dividieren)
    Loesung = Zahl1 / Zahl2
    cout << "Es kommt bei der Division von" << Zahl1 << "und" << Zahl2 << "," << Loesung << "raus" << endl;
    cout << "(c) By DoguS";
    


  • using namespace std; // Semikolon vergessen
    
    cin >> Zahl1; // cin liest ein, endl also falsch
    cin >> Zahl2;
    

    Außerdem gehen deine Vergleiche nicht,

    Du kannst nicht Buchstaben in deinen Integer "rechnung" speichern.
    Dafür müsstest du den Datentyp char verwenden.

    Aber dann ginge

    if(rechnung == multiplizieren)
    

    immer noch nicht, so etwas wird mit strcmp() verglichen.

    Ansonsten bitte Codetags benutzen und die Compilermeldungen mit reinkopieren ➡ ⚠

    // Ah das Forum geht wieder, endlich kann man editieren 🙄



  • Ich glaube du musst einen string verwenden

    string wort = "addieren";
    if(Rechnung == wort)
    

    Und in int-Variablen kann man keine Zeichen eingeben.

    und mach mal hinter

    using namespace std
    

    ein

    ;
    

    .



  • machs doch ganz einfach über char einagbe; oder so.
    Ich will dein Programm nicht kritisieren aber es wäre leichter wenn du so eine Auflistung machst (finde ich halt übersichtlicher)

    (A) Addition
    (B) Division
    ..

    if (eingabe == A || eingabe == a)

    war nur so ein Tip damit das Programm schöner aussieht



  • Hi

    Mach sowas lieber mit einem Parser ..... ist zwar schwer aber machbar 😉
    Dann brauchst du nicht mehr wie ein blöder immer addition/ subtraktion eintippen sondern einfach nur +/-.
    *Google ist dein Freund*

    cu



  • würde mal sagen wegen der Übersicht solltest du mehr withespaces machen/lassen
    Wie Facer schon sagte, so ein Menü ist übersichtlicher und spart Tiparbeit :).

    Statt den vier if Anweisungen lieber ein switch da man mit dem gleich noch eine Fehleingabe abfangen kann. (Falls du die Switchfunktion kennst)

    ah und deinem Code fehlt noch die Rückgabe :p

    hier alles zusammengefasst:

    #include <iostream>
    #include <conio.h>
    
    using namespace std;
    
    int main()
    {
    
    int Zahl1, Zahl2, Rechnung, Loesung;
    
    cout << "Bitte geben Sie 2 Zahlen ein!" << endl;
    cout << "1. Wert:  ";cin >> Zahl1; 
    cout << "2. Wert:  ";cin >> Zahl2;
    cout << endl;
    cout << "(1). addieren" << endl;
    cout << "(2). subtrahieren" << endl;
    cout << "(3). multiplizieren" << endl;
    cout << "(4).dividieren" << endl;
    cout << "Auswahl: ";
    cin >> Rechnung;
    cout << endl;
    
    switch(Rechnung)
    {
    	case 1: Loesung = Zahl1 + Zahl2;
    			cout << "Es kommt bei der Addition von " << Zahl1 << " und " << Zahl2 << ", " << Loesung << " raus" << endl;
    			break;
    	case 2: Loesung = Zahl1 - Zahl2;
    			cout << "Es kommt bei der Subtraktion von " << Zahl1 << " und " << Zahl2 << ", " << Loesung << " raus" << endl;
    			break;
    	case 3: Loesung = Zahl1 * Zahl2;
    			cout << "Es kommt bei der Multiplikation von " << Zahl1 << " und " << Zahl2 << ", " << Loesung << " raus" <<endl;
    			break;
    	case 4: Loesung = Zahl1 / Zahl2;
    			cout << "Es kommt bei der Division von " << Zahl1 << " und " << Zahl2 << ", " << Loesung << " raus" << endl;
    			break;
    	default: cout << "Fehler"<<endl;
    }
    
    return 0;
    }
    

    -------------

    edit:
    Ah und statt

    cout << "(1). addieren" << endl;
    cout << "(2). subtrahieren" << endl;
    cout << "(3). multiplizieren" << endl;
    cout << "(4).dividieren" << endl;
    

    kannste auch

    cout << "(1). addieren" << endl
    << "(2). subtrahieren" << endl
    << "(3). multiplizieren" << endl
    << "(4).dividieren" << endl;
    

    schreiben


Anmelden zum Antworten