c++ Taschenrechner
-
Ich habe jz mal den rechner komplett neugeschrieben
Freue mich auf verbesserungsvorschläge
#include <iostream> using namespace std; double zahl1, zahl2, ergebnis; char quit, rechenzeichen; char user_input; int main() { ergebnis = 0; system("Color A"); do { cout << "Letzte Rechnung: " << zahl1 << " " << rechenzeichen << " " << zahl2 << " " << " = " << ergebnis << endl; cout << "Rechnung: "; cin >> zahl1 >> rechenzeichen >> zahl2; switch (rechenzeichen) { case '+': ergebnis = zahl1 + zahl2; break; case '-': ergebnis = zahl1 - zahl2; break; case '*': ergebnis = zahl1 * zahl2; break; case '/': ergebnis = zahl1 / zahl2; break; default: cout << "Junge gib ein richtiges Rechenzeichen an!" << endl; } cout << zahl1 << " " << rechenzeichen << " " << zahl2 << " = " << ergebnis << endl; cout << "Geben sie irgendeine Taste ein um weiterzurechnen und: 'Q' zum beenden!" << endl; cin >> user_input; system("CLS"); if (user_input == 'q' || user_input == 'Q') { break; } } while (1); return 0; }
-
ich hab das char quit mittlerweile auch entfernt xD
-
Keine globalen Variablen!
Warum eine Endlosschleife?
Die Bedingung für den Abbruch hast du doch (fast) in dem
if
Die
case
-Zeilen solltest du noch etwas einrücken (dasdefault
auch)
-
@unkn0wn Was bekommst Du denn für eine Ausgabe gleich nachdem Du das Programm startest und warum?
-
Versuch es doch in eine Funktion zu packen ein anstelle des break und das dann Ich eine schleife zu packen dann wäre dein Rechner nur eine Funktion
-
@Swordfish Ne die ausgabe ist standard 0 weil noch nichts gerechnet wurde aber wenn du was gerechnet hast und ne neue rechnung machst wird da halt noch die letzte rechnung angezeigt
-
@Abe meinst du nur das switch ?
-
Ich meine die ganze do schleife dann Kannste das wiederum in der Main in eine schleife packen wo du es in einen switch block packst
int main () { while (1) { cout << "hier stehen die Auswahl Möglichkeiten/n"; Int auswahl; cin>>Auswahl; switch(auswahl) case 1: rechner();break; ....... case irgendwas: return 0; } }
-
@unkn0wn sagte in c++ Taschenrechner:
Ne die ausgabe ist standard 0 weil noch nichts gerechnet wurde
Das kommt halt durch das
system("CLS")
Sowas machen alle Anfänger.
Das hat aber mit der Funktion des Programms nichts zu tun - ist nervig - und überflüssig.
-
@DirkB Ich habe das gemacht damit man seine rechnungen davor sieht ist mir eigtl egal wenn da nur 0 steht. Und ich bin halt noch Anfänger
-
@unkn0wn sagte in c++ Taschenrechner:
@DirkB Ich habe das gemacht damit man seine rechnungen davor sieht ist mir eigtl egal wenn da nur 0 steht. Und ich bin halt noch Anfänger
Dann lass das system("cls"); doch einfach weg.