Taschenrechner
-
ch lerne momentan C++.
Hab mir ein Buch gekauft, dass bei Ansi C++ beginnt und dann in die Objektorientierte Programmierung in C++ eingeht.So zum verstehen der Grundkentnisse habe ich einen taschenrechner programmiert, ich würde gerne wissen was ihr davon haltet.
#include <iostream> #include <vector> using namespace std; int main() { int schluss; char x; cout << " Dies ist ein Taschenrechner\n" << endl; cout << " Er kann +,-,/ und * rechnen\n" << endl; cout << " Geben sie das Zeichen ein um mit\n" << endl; cout << " der gewuenschen Rechenart zu rechnen!\n" << endl; cout << "Wollen sie +,- ,/ oder * rechnen: "; cin >> x; switch (x) { case '+': { vector<double> v; cout << "Wie viele Werte?:"; int anz; cin >> anz; double addition=0; for(int i=1; i<=anz; i++) { cout << "Wert " << i << ":"; double tmp; cin >> tmp; addition+=tmp; } // cout << "Ergebniss: " << addition << endl; cout << v.size(); break; } case '-': { double zahl1; cout << "Zahl 1 eingeben:"; cin >> zahl1; double zahl2; cout << "Zahl 2 eingeben:"; cin >> zahl2; double substraktion = zahl1-zahl2; cout << zahl1 << " - " << zahl2 << " = " << substraktion << endl; break; } case '/': { double zahl1; cout << "Zahl 1 eingeben:"; cin >> zahl1; double zahl2; cout << "Zahl 2 eingeben:"; cin >> zahl2; double division = zahl1/zahl2; cout << zahl1 << " / " << zahl2 << " = " << division << endl; break; } case '*': { double zahl1; cout << "Zahl 1 eingeben:"; cin >> zahl1; double zahl2; cout << "Zahl 2 eingeben:"; cin >> zahl2; double multi = zahl1*zahl2; cout << zahl1 << " * " << zahl2 << " = " << multi << endl; break; } default: { std::cout << "Kannst du net +,-,/,* eintippen???" << std::endl; break; } } cout << "Beliebige Zahl eingeben, dann enter zum Beenden druecken!"; cin >> schluss; return 0; } /* if(x == '+') { int zahl1; cout << "Zahl 1 eingeben:"; cin >> zahl1; int zahl2; cout << "Zahl 2 eingeben:"; cin >> zahl2; int addition = zahl1+zahl2; cout << addition << endl; } if(x == '-'){ int zahl1; cout << "Zahl 1 eingeben:"; cin >> zahl1; int zahl2; cout << "Zahl 2 eingeben:"; cin >> zahl2; int substraktion = zahl1-zahl2; cout << substraktion << endl; } if(x == '/'){ int zahl1; cout << "Zahl 1 eingeben:"; cin >> zahl1; int zahl2; cout << "Zahl 2 eingeben:"; cin >> zahl2; int division = zahl1/zahl2; cout << division << endl; } if(x == '*'){ int zahl1; cout << "Zahl 1 eingeben:"; cin >> zahl1; int zahl2; cout << "Zahl 2 eingeben:"; cin >> zahl2; int multiplikation = zahl1*zahl2; cout << multiplikation << endl; }*/ /*system("pause"); } */
-
Hey xxSeppexx,
ansich ganz nett aber versuch doch mal einen Taschenrechner zuschreiben der beliebig viele Zahlen mit ein ander verrechnen kann. In etwa so:#include <iostream> #include <conio.h> using namespace std; long double ergebnis=0,zahl=0; char rechenzeichen; int main() { cout << " Taschenrecher \n ------------------------------- \n\n Term > "; cin >> ergebnis; while (true) { cin >> rechenzeichen; if (rechenzeichen == '=') { cout << " Ergebnis = "<<ergebnis<<endl; break; } cin >> zahl; if (rechenzeichen == '+') { ergebnis = ergebnis + zahl; } if (rechenzeichen == '-') { ergebnis = ergebnis - zahl; } if (rechenzeichen == '*') { ergebnis = ergebnis * zahl; } if (rechenzeichen == '/') { ergebnis = ergebnis / zahl; } } getch(); return 0; }
PS :
Ich denke das du oben das Raute zeichen vergessen hast war ein kopier Fehler,
aber bei "std::cout << "Kannst du net +,-,/,* eintippen???" << std::endl;"
da kannst du std:: weg lassen.mfg
-
Ok ich hab verstanden was du meinst, was du gemacht hast schaut gut aus.
Wozu benötigst du <conio.h>
Und was genau macht getch();Verbesserungs Vorschlag an dich:
switch-case konstruktion, sieht besser aus^^.
-
conio.h brauchst du für den Befehel getch()und getch ist ungefair das selbe wie
system("PAUSE") mit anderen Worten er hält das Programm an bis i.eine Taste
gedückt worden ist!
Das tolle an getch ist man kann feststellen welche Taste gerückt worden ist und
kann darauf reagieren. Brauch man zum Beispiel für ein Konsolen Menü. Falls es
dich interessiert so sehe das aus.#include <iostream> #include <conio.h> using namespace std; int EINTRAEGE = 3; int taste = 0; int nummer = 0; char* titel[] = {"Menu 0","Menu 1","Menu 2","Menu 3"}; void Funktion() { system("cls"); switch(nummer) { case 0: { cout <<"0"; break; } case 1: { cout <<"1"; break; } case 2: { cout <<"2"; break; } case 3: { cout <<"3"; break; } } getch(); } int main() { while (true) { system("cls"); cout << " Konsolen Menue \n ------------------------- \n\n"; for (int i=0;i<=EINTRAEGE;i++) { if (i == nummer) { cout << " -> "<< titel[i] << " <- \n"; } else { cout << " " << titel[i] << " \n"; } } taste = getch(); if (taste == 80) { if (nummer == EINTRAEGE) { nummer = 0; } else { nummer++; } } if (taste == 72) { if (nummer == 0) { nummer = EINTRAEGE; } else { nummer--; } } if(taste == 13) { Funktion(); } } }
-
Ok habs kapiert.
ist ja net schlecht das getch.
Ich werd dann ma weiter am Taschenrechner arbeiten und versuchen ihn zu verbessern.Ich mach dort auch ein Menü rein, einmal um normal zurechnen und um durchschnitt ,prozent... und so auszurechnen.