Kleines Programm funktioniert nicht...
-
Hallo,
ich muss gerade für C++ lernen. Deshalb habe ich mir ein kleines Programm mit do und while Schleifen ausgedacht. Es ist ganz einfach: Wenn man eine Zahl eingibt, wird diese addiert und dann wird man gefragt, ob man weilter "addieren" möchte. Wenn nicht soll eben das Ergebnis rauskommen.
Hier mein Quelltext:
#include <cstdlib> #include <iostream> using namespace std; int main () { int zahl1, erg ; char weiter; erg=0; weiter="j"; cout << "erg" << ; do { cout << "Soviel draufrechnen\n" << endl; cin >> zahl1; erg=erg+zahl1; } while (weiter=="j"); system("PAUSE"); return 0; }Bei der Zeile weiter="j" bleibt der Compiler immer hängen. Ich danke für eure Hilfe!
-
du musst das j in hochkommas setzen 'j' damit es als char erkannt wird. Alles was in Anführungszeichen steht wird als char* erkannt.
-
Hallo,
vielen vielen Dank für die Antwort! Du hast recht mit den Hochkommas! Juhu...jetzt bin ich schon einige Schritte weitergekommen.
Vielen Dank!
-
Anstelle von "\n" kannst du in C++ auch den Endline-Manipulator (endl) benutzen.
System("PAUSE") ist zu meiden, da dieser Befehl nur unter DOS und Windows funktioniert, Linux macht da gar nichts. Les' am Besten mal das hier: http://www.gidnetwork.com/b-61.html#include <cstdlib> #include <iostream> using namespace std; int main () { int zahl1, erg=0 ; char weiter; erg=0; weiter='j'; do { cout << "So viel draufrechnen: " ; cin >> zahl1; cout << "\n" ; erg=erg+zahl1; cout << "Noch einmal (J/N)? " ; cin>>weiter; cout << "\n" ; } while (weiter=='j' || weiter=='J'); cout << erg << "\n\n" ; system("PAUSE"); return 0; }
-
Phisherman schrieb:
Anstelle von "\n" kannst du in C++ auch den Endline-Manipulator (endl) benutzen.
Das tut man aber nicht, endl ist namelich ein '\n' << std::flush, und daher sehr ineffizient!

-
OK, danke!
-
Danke nochmal für die Antworten!
-
delete
-
Hallo, übe an den Verzweigungen und habe dazu ein einfaches ausbaufähigens Programm geschrieben. Aber beim Kompilieren gibt er mir immer eine Fehlermeldung aus...
Danke für Hilfe!
#include <cstdlib> #include <iostream> using namespace std; int main() { char tora, torb, torw; int erg=0; while (erg < 4) { cout << "In welches Tor ist der Ball gefallen - tora oder torb?/n"; cin >> torw; if (torw='tora') { cout << "Der Ball ist in das Tor A gefallen/n"; erg++; } else if (torw='torb') { cout << "Der Ball ist in das Tor B gefallen/n"; erg++; } system("PAUSE"); return EXIT_SUCCESS; }
-
Der Fehler liegt im Misverständnis von "char" (und Verwechslung mit strings) und passenden Anführungszeichen sowie Vergleichsoperator. Lies dir die Kapitel noch mal durch.
Folgende Zeilen (und Ähnliche) sind auszubesseren:char torw; /// if(torw = 'tora') ///
-
Geflügeldipp schrieb:
beim Kompilieren gibt er mir immer eine Fehlermeldung aus...
Wann lernen die Leute endlich, ihre Fehlermeldungen zu posten?

-
Hallo,
danke...Problem habe ích jetzt verstanden...