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 stattcout << "(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