Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Problem bei kleinem spiel

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
25.11.2007, 13:17 Uhr
~braunerbääääär
Gast


gute tag,

ich versuche schon seit fast einer stunde den fehler im folgendem programm zu finden doch bis jetzt ohne erfolg.
diese programm soll ein spiel darstellen, bei dem man anfangs eine anzahl von münzen festlegt und sie anschließend enfernt *maximal drei auf einmal*
doch leider klappt es noch nicht
vieleicht weis einer von euch ja an was es liegt


C++:
#include <iostream>

using namespace std;

int main()
{
    int am; //Anzahl der Münzen
    int sf; //Größ des Spielfeldes
    int sp; //Spieler
    int cp; //Computer
    
    cout << "Mit wievielen Münzen möchten sie starten?\n"; //Anzahl der münzen
    cin >> am;
    
    while (am>0) //Solange bis keine münze mehr vorhanden ist
    {
          while (sp<1 && sp>3) //Zug des Spielers
          {
                cout << "Wieviel Münzen sollen entfernt werden?\n";
                cin >> sp;
          }
          if ((am-sp)==0)
          {
                cout << "Herzlichen Glückwunsch sie haben gewonnen\n";
          }
          if ((am-sp)!=0)
          {
                am=am-sp;
                cout << "Es sind noch " << am << " Münzem im spiel\n";
          }
          if (am>0)
          {
                   cout << "Computer zieh\n";
                   cp=am%4;
                   cout << "Der Computer entfernt " << cp << " Münzen\n";
                   am=am-cp;
                   if (am==0)
                   {
                             cout << "Sie haben verloren\n";
                   }
                   if (am!=0)
                   {
                             cout << "Es sind noch " << am << " Münzem im spiel\n";
                   }
          }
          if (am==0)
          {
                    cout << "ENDE\n";
          }
          
          
    }
}



aufjeden fall schonmal vielen vielen dank


mit freundlichen grüßen

baunerbääääär

Bearbeitung von 0xdeadbeef:

code- durch cpp-tags ersetzt. Aber schon mal ein guter Anfang


Dieser Post wurde am 25.11.2007 um 13:20 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.11.2007, 13:23 Uhr
0xdeadbeef
Gott
(Operator)


Mir fallen auf Anhieb zwei Dinge auf: Du benutzt sp uninitialisiert; das erzeugt undefiniertes Verhalten. Ich schlage vor, die Einleseschleife zu einer do-while-Schleife umzuschreiben.

Zweitens, und das ist wahrscheinlich das, was dir hier dazwischenfunkt, in der Behandlung der "Spieler gewinnt"-Situation wird am nicht auf Null gesetzt, d.h. das Spiel geht weiter.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.11.2007, 13:25 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ohne mir das zu ende angeguckt zu haben fällt auf, dass sp mit keinem wert initialisiert wurde
--
...fleißig wie zwei Weißbrote
 
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: