Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Konsole schließt sich immer weiß nicht weiter ...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
29.06.2016, 18:45 Uhr
MichellCoding



Hallo hier ist erstmal mein Code:


C++:
#include <iostream>

using namespace std;

int main() {

    int tmp;
    int Leben = 10;
    int Angriff = 1;
    int Skelett;
    int Weg1;
    int Auswahl;
    int Weg2;
    int Fliehen;
    int Skelettleben = 1;
    

    
     cout << "Hallo Spieler du hast 10 Leben!" << endl;
       cout << "Unglücklicherweise befindest du dich in einer Welt voller Monster!" << endl;
         cout << "Du kannst verschiedene Wege einschlagen entweder Links oder Rechts um den Monstern zu entkommen oder ein Monster wir dir begegnen!" << endl;
            cout << "Natuerlich kannst du auch zurueckschlagen du musst nur entscheiden WIE!" << endl;

         cout << "Welchen Weg waehlst du?" << endl;
         cin >> Auswahl;

         if (Auswahl == 1) {
             cout << " OH NEIN !!! Ein Skelett vom Level 1 erscheint! Was willst du tun Angreifen oder Fliehen???" << endl;
                cout << "Das Skelett hat 1 Leben! Schlag einmal auf ihn ein um ihn zu toeten!" << endl;
                cin >> Angriff;
         }


         if (Auswahl == Angriff) {
             cout << "Du schlaegst auf das Skelett ein!" << endl;
               cout << "Es ist gestorben du hast ihn besiegt!!!" << endl;

        
               int Gold = 5;
               cout << "Das Skelett ließ " << Gold << "Gold fallen!" << endl;
                
  ------->                          UND HIER SCHLIEßt SICH DIE KONSOLE mann kan zwar noch erkennen was in die Konsole geprinted wurden ist aber sie schließt sich immer danach!

         }


         else if (Auswahl == 2){
             cout << "Puuh nochmal davon gekommen aber pass lieber besser auf!" << endl;

         }
          
        
    cin >> tmp;
    return 0;

}



Zudem will ich sagen das ich dabei bin c++ zu erlernen und noch ziemlich (klein) bin was das angeht.! Ich hoffe das mit jemand helfen kann (-:

Dieser Post wurde am 29.06.2016 um 19:39 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.06.2016, 12:24 Uhr
Kaffeebart



Der Programmcode läuft von oben nach unten durch.
Es gibt keine Schleife oder sonst eine Abzweigung, die dem Code sagt er solle wieder nach oben springen.

Du gibst eine Entscheidung ein (recht links schlagen)
Der Code handelt entsprechend

Dann wird noch eine Eingabe zu tmp erwartet. nach dieser Eingabe ist der Code beendet und das Programm schliesst.

Du könntest etwas einbauen wie
while (Auswahl !=9)
{
Dein gesamter Programmcode
}

Dann wird das Programm solange ausgeführt, bis der Benutzer sagt beenden mit der Auswahl 9


EDIT: Sorry den Kommentar mitten im Quellcode habe ich erst jetzt gesehen, wo du sagst, dass sich die Konsole schleisst.

Wieso schreibst du in eine INT variable einen Text?
if (Auswahl == Angriff)
--
Gruss
Stefan

Dieser Post wurde am 30.06.2016 um 12:31 Uhr von Kaffeebart editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.06.2016, 12:55 Uhr
Tommix



Hallo MichellCoding,
vielleicht beschreibst Du noch mal genau, was jetzt Deiner Meinung nach falsch läuft. Möglicherweise läuft es hierauf hinaus:
https://ssl.secure-hosts.de/www.fun-soft.de/showtopic.php?threadid=6479
(Beim letzten cin steht noch was im Eingabepuffer.)

Gruß,
Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.06.2016, 17:59 Uhr
Kaffeebart



Also ich habe das Beispiel bei mir mal in Visual Studio kopiert ... es scheint so als mache es genau das was es soll.

Wenn ich das erste mal 1 drücke komme ich zum Gegner
zweite mal 1 - Gegner besiegt
dritte Eingabe Programm beendet.

Es wird auch brav die dritte Eingabe abgewartet bevor es beendet wird.

Sorry, demnach kann ich dir leider nicht weiter helfen
--
Gruss
Stefan
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.07.2016, 13:18 Uhr
Tommix



Hallo Kaffeebart,
das Problem tritt auf, wenn man etwas anderes als eine Zahl eingibt. Ungültige Zeichen bleiben im Puffer.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: