Mit alten Werten weiterrechnen
-
Hallo Community,
ich bin momentan dabei einen umfangreichen Taschenrechner zu programmieren. Und ich bin mit diesem Abschnitt nicht zufrieden
#include <iostream> using namespace std; long double a; long double b; int x; long double Ergebnis = Ergebnis + a; int main () { do { cout << " Wählen Sie eine Option " << endl; // Mehrere Optionen cout << " Addition (1) " << endl; cin >> x; switch (x){ case 1: cout << " Beenden mit Ja(1), Nein (2) " << endl; cin >> x; if (x==2) { while (x==2) { cout << " Bitte 2 Werte angeben\n "; cin >> a; cout << " + " << endl; cout << " "; cin >> b; cout << " = " << endl; Ergebnis = Ergebnis + a + b; cout << " " << Ergebnis; cout << " Neue Rechnung mit altem Wert? " << endl; cout << " (1) Ja, (2) Nein " << endl; cin >> x; if ( x == 1) { cout << " Mit 0 Aufgabenende " << endl; while (a!=0) { cout << " Neue Zahl: " << endl; cout << Ergebnis << endl; cout << " + " << endl; cout << " "; cin >> a; cout << " " << " + " << endl; Ergebnis = Ergebnis + a; cout << " " << " = " << Ergebnis << endl; } } } } else cout << endl << "---------------" << endl; break; default: return 1; } } while (x!=14); return 0; }Ich weiß das Google mein Freund ist, aber wenn es hierum geht anscheinend nicht.
Sieht extrem umfangreich aus, für so ne kleine Aufgabe, deshalb denke ich das es eine Alternativlösung gibt.
Ich kann dann zwar mit den alten Ergebnissen weiterrechnen, aber dann auch nur in diesem Fall(der Addition), ich will wenn möglich sogar mit den alten Werten subtrahieren, multiplizieren, die Wurzel ziehen u.v.m.
Es wäre nett, wenn mir jemand einen Schubser von der Seite geben würde.mfg
-
Tryharder schrieb:
Sieht extrem umfangreich aus, für so ne kleine Aufgabe, deshalb denke ich das es eine Alternativlösung gibt.
Was kennst du denn schon? Sind eigene Funktionen bekannt?
-
mega slocs schrieb:
Tryharder schrieb:
Sieht extrem umfangreich aus, für so ne kleine Aufgabe, deshalb denke ich das es eine Alternativlösung gibt.
Was kennst du denn schon? Sind eigene Funktionen bekannt?
Willst du jetzt von mir wissen, ob ich Funktionstypen kenne? Wenn ja, dann kann ich als Antwort nur void und int nennen.
Wenn du wissen willst ob noch andere Funktionen in diesem Programm beinhaltet sind, dann ja. Ich hab gar nicht gesagt, dass ich noch Anfänger bin, ich programmiere erst seit 1 Woche, also kann ich nicht sooo viel wissen.
-
...
-
Danke dir Swordfish, bei mir siehts jetzt so aus:
cout << " Geben Sie eine Zahl an " << endl; do { cout << Ergebnis << endl; cout << " + " << endl; cin >> x; Ergebnis = Ergebnis + x; cout << " = " << endl; cout << Ergebnis << endl; } while (x!=0);Jetzt brauch ich noch eine elegenate Art Werte zu löschen, also muss ich mich anscheinend mit Zeigern vertraut machen

-
...
-
Man kann auch x = x - x; als option haben.
Aber mit delete kann man ja Variablenwerte löschen oder nicht? Und dafür brauche ich doch Zeiger????
Hast mich jetzt verwirrt.
-
Nein, mit delete kann man keine Variableninhalte löschen. delete gibt Speicher frei.
Ja, für delete bräuchte man Zeiger. Man hantiert in C++ aber nicht manuell mit Speicher herum.
Definiere was du mit löschen meinst.
-
Nathan schrieb:
Nein, mit delete kann man keine Variableninhalte löschen. delete gibt Speicher frei.
Ja, für delete bräuchte man Zeiger. Man hantiert in C++ aber nicht manuell mit Speicher herum.
Definiere was du mit löschen meinst.Den Wert der Variable zurücksetzen, löschen war unglücklich formuliert.
Hmm ich hatte ja:Ergebnis = 0;und habe den Wert für Ergebnis immer wieder geändert, das kann ich ja jetzt. Nun möchte ich den Wert der Variable zurücksetzen, löschen war wirklich unglücklich formuliert. Was brauche ich dafür?