Taschenrechner
-
Ich 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; }
-
Falsches Unterforum! Inm C++-Forum nochmal posten.
-
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
-
Ich habe in BASIC mal so etwas gemacht, da kann man immerhin nach jedem Resultat mit einer weiteren Zahl "weitermachen":
dim as double A, B 100:input "Eingabe Zahl 1 "; A 200:print "1 fuer addieren +, 2 fuer multiplizieren *," 210: input "3 fuer dividieren /, 4 fuer subtrahieren -"; D 300:input "Zahl 2 "; B dim C as double asm mov eax, [D] cmp eax, 1 je M2 cmp eax, 2 je M10 cmp eax, 3 je M20 cmp eax, 4 je M30 M2: fld qword ptr [_A] fadd qword ptr [_B] fstp qword ptr [_C] jmp M40 M10: fld qword ptr [_A] fmul qword ptr [_B] fstp qword ptr [_C] jmp M40 M20: fld qword ptr [_A] fdiv qword ptr [_B] fstp qword ptr [_C] jmp M40 M30:fld qword ptr [_A] fsub qword ptr [_B] fstp qword ptr [_C] jmp M40 M40: nop end asm print C sleep 1000 input "Noch eine Berechnung (mit diesem Resultat oder neuen Zahlen)? j/n"; H$ If H$="j" goto 2000 if H$="n" goto 5000 2000: Dim Erg2 As Integer input "Dieses Resultat (oder neue Zahlen) verwenden ? j/n"; I$ If I$ = "j" goto 2500 if I$= "n" goto 100 2500: A=C goto 200 5000:Declare Function MessageBox Lib "user32" Alias "MessageBoxA" _ (ByVal hWnd As Integer, ByVal lpText As String, _ ByVal lpCaption As String, ByVal wType As Integer) As Integer Const fbOkOnly = 0 'Nur die Schaltfläche OK anzeigen Const fbOkCancel = 1 'Schaltflächen OK und Abbrechen anzeigen Const fbAbortRetryIgnore = 2 'Abbruch, Wiederholen und Ignorieren Const fbYesNoCancel = 3 'Ja, Nein und Abbrechen Const fbYesNo = 4 'Schaltflächen Ja und Nein Const fbRetryCancel = 5 'Schaltflächen Wiederholen und Abbrechen Const fbCritical = 16 'Stop-Symbol Const fbQuestion = 32 'Fragezeichen-Symbol Const fbExclamation = 48 'Ausrufezeichen-Symbol Const fbInformation = 64 'Information-Symbol Dim s As Integer s = MessageBox (me.hWnd, "Dieses Programm wurde grösstenteils in Assemblersprache geschrieben! © C. M . Obrecht, 2006", "I n f o r m a t i o n ",fbExclamation) s = MessageBox (me.hWnd, "Auf Wiedersehen", " :-) ",fbInformation) Endund für DOS mit VB: www.homepage.hispeed.ch/reben/Rechner.exe