bool und do-while schleife ist so was ok
-
#include <iostream> using namespace std; int main() { do//leider muss die schleifenvariable (hier seltsamerweise antwort) raus { int zahl1 = 0;//lass das =0 sein, hat hier doch keine bedeutung cin >> zahl1; int zahl2 = 0; cout << "Geben sie die zweite Zahl ein " << endl;//'\n' besser als endl cin >> zahl2; int ergebnis = zahl1 + zahl2;//geht später cout << "Geben sie das vermutete Ergebnis ein " << endl; cin >> vergleich; bool richtigGeraten = ergebnis == vergleich;//nicht benötigt if(ergebnis == vergleich)//if(vergleich==ergebnis)//den interessanten wert links { cout << " Richtig, du bist toll "<< endl; } else { cout << "Leider falsch."<<endl; cout << "Das richtige Ergebnis lautet: " << ergebnis << endl; } cout << "Noch eine Runde (J/N)? "; char antwort;//antwort, ergebnis, vergleich? die namen gehen noch besser cin >> antwort; } while('J'==antwort || 'j' == antwort);//den interessanten wert links bitte }
-
Mein Vorschlag: kein
using namespace std;
-
oenone schrieb:
Mein Vorschlag: kein
using namespace std;
Aus Masochismus? Oder weil Du so viele Andere Biblozheken benutzt, die cout anbieten?
-
Bei
char antwort;
brauche ich noch Tipps, Bitte||=== Build: Debug in Imho sauberer (compiler: GNU GCC Compiler) ===|
C:\Users\juhu123\Documents\testc++\Imho sauberer\main.cpp||In function 'int main()':|
C:\Users\juhu123\Documents\testc++\Imho sauberer\main.cpp|43|error: 'antwort' was not declared in this scope|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|#include <iostream> using namespace std; int main() { // char antwort; do { cout <<"Geben sie die erste Zahl ein \n"; int zahl1; cin >> zahl1; cout <<"Geben sie die zweite Zahl ein \n"; int zahl2; cin >> zahl2; int ergebnis=zahl1+zahl2; cout <<"Geben sie das vermutete Ergebnis ein \n"; int vergleich; cin >> vergleich; if( vergleich != ergebnis) { cout << "Leider falsch.\n"; cout << "Das richtige Ergebnis lautet: "<<ergebnis<< endl; } else { cout<< " Richtig, du bist toll \n"; } cout << "Noch eine Runde (J/N)? "; char antwort; cin >> antwort; } while ('J'==antwort || 'j' == antwort); }
-
Deklarierst du
antwort
in derdo
…while
-Schleife, so ist diese Variable im Schleifenkopf (while('J'==antwort || 'j' == antwort)
) nicht sichtbar. Deklariere sie (wie auskommentiert) im Scope vonmain()
.Was ist mit ascs und volkards Anmerkungen??
-
ich habe alles durch probiert, glaube ich. Aber ich verstehe nur noch Bahnhof und sehe den Wald vor Bäumen nicht
-
#include <iostream> using namespace std; int main() { // char antwort;//Ja, da muss die Variable hin! Leider. do { … cout << "Noch eine Runde (J/N)? "; char antwort;//Und hier natürlich weg cin >> antwort; } while(was mit antwort);//ist nämlich außerhalb des do-Blocks //das regt mich jedesmal auf. }
-
juhu123 schrieb:
und sehe den Wald vor Bäumen nicht
Anfänger.
Im Info-Studium lernst Du (aber auch in Fachforen), daß jeder Baum ein Wald ist. Ein Wald ist ein kreisfreier Graph. Und ein Baum ist ein zusammenhängender Wald. Problem gelöst: Ab jetzt siehst Du immer auch einen Wald, wenn Du einen Baum siehst.
-
danke ,supper
gute nacht
-
volkard schrieb:
// ... int main() { // char antwort;//Ja, da muss die Variable hin! Leider. do { // ...
Du verwendest ja auch die falsche Schleife ...
#include <iostream> using namespace std; int main() { // char antwort;//Ja, da muss die Variable hin! Leider. for( char antwort{ 'j' }; antwort == 'j'; cin >> antwort ) { cout << "Noch eine Runde (J/N)? "; } }