Wiederholung und Summenfunktion Taschenrechner
-
Ich weiß halt nicht, wie ich eine Schleife so einbinden kann, dass es nach jeder Rechnung fragt, ob noch eine Rechnung erfolgen soll, bzw. welche Bedingung dafür erfüllt sein muss.
-
Du kannst doch schon auf Eingaben reagieren (passiert ja bei den Rechenarten).
In den () beim if steht auch eine Bedingung.Da die Schleife mindestens einmal durchlaufen werden soll, bietet sich eine fußgesteuerte Schleife an.
-
@DirkB
Genau, soweit bin ich auch schon. Allerdings weiß ich nicht, wie ich das so lösen kann, dass der Taschenrechner von vorne beginnt, wenn ich nach der Frage "Eine weitere Rechnung durchführen?" mit Ja beantworte, bzw. das Programm sich beendet, wenn ich Nein eingebe
-
Dann baue doch mal eine Schleife um die zu wiederholenden Anweisungen ein. Und die Bedingung ist die Auswertung der Benutzereingabe.
Wenn du gar nicht weißt, wie man diese erzeugt, dann lies dir mal C++-Programmierung/ Einführung in C++/ Schleifen durch (bzw. schau dir die Code-Beispiel dort an).PS: Es gibt keine "for-while-Schleife", sondern sowohl eine
for
- als auch einewhile
-Schleife.
-
@Th69 Vielen Dank für die Hilfe! Allerdings stehe ich irgendwie auf dem Schlauch, denn nach der Benutzereingabe geht es nicht weiter, bleibt also bei Ja stehen
-
@minimee1 sagte in Wiederholung und Summenfunktion Taschenrechner:
...nach der Benutzereingabe geht es nicht weiter, bleibt also bei Ja stehen
zeig mal
-
@Belli ```cpp
#include <iostream>
using namespace std;
int main(){
int eingabe1;
int eingabe2;
int ergebnis;
char rechenzeichen;
string Ja;
do{
cout<<"Taschenrechner"<<endl;
cout<<"Geben Sie die 1.Zahl ein : ";
cin>>eingabe1;
cout<<"Geben Sie die gewünschte Rechenoperation an (+ - * /): ";
cin>>rechenzeichen;
cout<<"Geben Sie die 2.Zahl ein: ";
cin>>eingabe2;if (rechenzeichen =='+')
{
ergebnis=eingabe1+eingabe2;
}
else if(rechenzeichen=='-')
{
ergebnis=eingabe1-eingabe2;
}
else if(rechenzeichen=='')
{
ergebnis=eingabe1eingabe2;
}
else
{
ergebnis=eingabe1/eingabe2;
}
cout<<"Ergebnis: "<<ergebnis;
cout<<"Wollen Sie noch etwas berechnen?";
cin>>Ja;}while(cin>>Ja);
}
-
@minimee1 Äh, warum nochmal ein cin in der Bedingung von der do-whileßSchleife?
Was soll der Benutzer denn eingeben? Danach musst du abfragen.
Bedenke aber auch, dass das du das Ja (blöder Variablenname) als string definiert hast
-
@minimee1 sagte in Wiederholung und Summenfunktion Taschenrechner:
Nicht:
}while(cin>>Ja);
sondern:
}while(Ja == 'ja');
-
@Belli sagte in Wiederholung und Summenfunktion Taschenrechner:
}while(Ja == 'ja');
Funktioniert std::string auch mit Zeichenliteralen aus zwei Zeichen?
(ich kenne C++ nicht so gut)
-
nein, natürlich nicht, mein Fehler:
Es muss natürlich:
}while(Ja == '"ja");
heißen.
-
Vielen Dank für die zahlreiche Hilfe! Ich konnte das Problem lösen!