Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
... int main() { { cout << "Herzlich wilkommen!" << endl; ... } { char chSpielmodus; ... } return 0; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <iostream> using namespace std; int main() { cout << "Herzlich Willkommen \n"; int Spielername; cout << "Spielername: "; cin >> Spielername; char chSpielmodus; cout << "\nSpielmodus waehlen\n"; cout << "Moechten Sie ein (n)eues Spiel starten oder (f)ortfahren?: \n"; cin >> chSpielmodus; if (chSpielmodus == 'n') cout << "Es wahr einmal..." << endl; else cout << "Bildschirm wird geladen..." << endl; return 0; } |
C-/C++-Quelltext |
|
1 2 3 |
cout << "Spielername: "; string Spielername; cin >> Spielername; |
Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.
... und diese Signatur kürzer!
- übersichtlicher
- logischer
- verständlicher
Hello_Kitty!
unregistriert
Entweder weil cin sein failbit setzt, nachdem der Spielername nicht als int gelesen werden kann, oder weil sich noch weitere Zeichen im internen Buffer befinden, die dann sofort gelesen werden.Warum der Code mit dem char nicht funktioniert kann ich dir auf den ersten Blick nicht sagen. Kannst du den Code mal so wie er im Bild zu sehen ist in den oben genannten Code-Tags posten, dann kann ich ihn mal hier bei mir compilieren und testen.
Nein, das kann nicht das Problem sein, denn wenn ich den String durch einen int ersetze, bekomme ich eine Fehlermeldung in der Konsole, von der der Threadersteller nichts geschrieben hat. Außerdem würde das VisualStudio mit einer Exception melden - das hat er vermutlich, wie ich an den Code-Farben aus seinem Post erkenne...Entweder weil cin sein failbit setzt, nachdem der Spielername nicht als int gelesen werden kann, oder weil sich noch weitere Zeichen im internen Buffer befinden, die dann sofort gelesen werden.
Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.
... und diese Signatur kürzer!
- übersichtlicher
- logischer
- verständlicher
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
// Ein weiterer Test #include <iostream> using namespace std ; // Hauptprogramm int main () { cout << "Herzlich Willkommen \n" ; int Spielname ; cout << "Spielername: " ; cin >> Spielname ; char chSpielmodus ; cout << "\nSpielmodus waehlen \n" ; cout << "Moechten Sie ein (n)eues Spiel starten oder (f)ortfahren?: \n " ; cin >> chSpielmodus ; if (chSpielmodus == 'n') cout << "Es war einmal vor langer Zeit..." << endl ; else cout << "Bildschirm wird geladen...." << endl; return 0 ; } |
Hello_Kitty!
unregistriert
C++ Streams werfen standardmäßig gar keine Exceptions, die muss man erst anschalten. Außerdem widersprichst du dir selbst, einerseits kann es nicht das Problem sein, andererseits hat VisualStudio deiner Meinung nach genau das gemeldet - ja was denn nun?Nein, das kann nicht das Problem sein, denn wenn ich den String durch einen int ersetze, bekomme ich eine Fehlermeldung in der Konsole, von der der Threadersteller nichts geschrieben hat. Außerdem würde das VisualStudio mit einer Exception melden - das hat er vermutlich, wie ich an den Code-Farben aus seinem Post erkenne...
Werbeanzeige