Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Ein 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
17.10.2003, 20:34 Uhr
~Progar
Gast


Tach mal wieder !

ich hab mal wieder ein großes Problem

ich soll ein Spiel schreiben bei dem sich der PC eine Zahl ?ausdenkt? und der Benutzer muss die Zahl erraten. Wobei der PC dem Benutzer mitteilt ob die gesuchte Zahl größer oder kleiner als die eingegebene Zahl ist. Fall die Zahl erraten soll der PC dem Benutzer ausgeben wie oft er geraten hat.
Tja das hört sich zwar leicht an, aber Source-Code funzt. trotzdem nicht könnt ihr euch denn mal anschauen:

C++:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

void main()

{  int Zahl, PCeingabe, i=0, Zaehler;

   do
   {  randomize();
      PCeingabe=rand() % 101+1;
      i++;
      cin>>Zahl;
       {
        if(Zahl<PCeingabe)
         {  cout<<"Die eingegebene Zahl ist kleiner als die gesuchte Zahl!";
         }
        else(Zahl>PCeingabe);
         {  cout<<"Die eingegebene Zahl ist grösser als die gesuchte Zahl!";
         }}
        {if(Zahl=PCeingabe)
         {  cout<<"Die Zahl wurde beim "<<i<<"-ten mal erraten!";
         }
        else;
       }
    }
   while(Zahl=PCeingabe);

   getch();
}



--edit: Pablo. Bitte [ cpp ] tags benutzen --

Dieser Post wurde am 17.10.2003 um 20:51 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.10.2003, 20:54 Uhr
Pablo
Supertux
(Operator)


Was funktioniert nicht?

igit...void main().... tsts, main ist ein int, also int main()

So on the Fly: zu viele überflüssige { } Klammern in den if-Anweisungen.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.10.2003, 21:11 Uhr
~Progar
Gast


tja leider funktioniert das Programm nicht und weizz nicht warum eigentlich müsste es doch gehn?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.10.2003, 21:39 Uhr
Pablo
Supertux
(Operator)


Aber was funktioniert nicht? Kannst du nicht kompilieren, tut nicht, was es soll? Bricht das Programm vorher ab, gibt es eine Fehlermeldung? Wenn du mir das nicht sagst, kann ich nach den Fehlern nicht suchen.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.10.2003, 12:40 Uhr
~RedEagle
Gast


Der code war mit einigen Anfängerfehlenrn versehen, die ich mal entfert habe, außerdem emfpehle ich dir, den Code etwas übersichtlicher zu machen.


C++:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main()
{
int Zahl;
int PCeingabe;
int i=0;
int Zaehler;

   do
   {
      randomize();
      PCeingabe=rand() % 101+1;
      i++;
      cin>>Zahl;
      
        if(Zahl<PCeingabe)
         {  
          cout<<"Die eingegebene Zahl ist kleiner als die gesuchte Zahl!";
         }
       if (Zahl>PCeingabe)
         {  
          cout<<"Die eingegebene Zahl ist grösser als die gesuchte Zahl!";
         }
        if(Zahl=PCeingabe)
         {  
          cout<<"Die Zahl wurde beim "<<i<<"-ten mal erraten!";
         }
      
      
   }
   while(Zahl=PCeingabe);

   getch();
}



ich bekomme jetzt nur noch einen fehler:

`randomize' undeclared

währe nett, wenn du die lösung für diese Problem in eine Antwort schreiben könntest, da ich selbst ratlos bin.

MFG RedEagle

--edit: Pablo. [ cpp ] tags gesetzt --

Dieser Post wurde am 18.10.2003 um 12:53 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.10.2003, 12:51 Uhr
Tommix



Hallo,
ich sehe erst mal einen Fehler in der Programmlogik: Da wird bei jedem Durchlauf eine neue Zufallszahl gebildet! Das muss vor die Schleife:

C++:
randomize();
PCeingabe=rand() % 101+1;

do
   {
      i++;
      cin>>Zahl;
      ...



Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
18.10.2003, 13:51 Uhr
~RedEagle
Gast


Sorry, stimmt.

Habe ich übersehen.

(fehler bleibt aber )

MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
18.10.2003, 16:05 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi und nochwas,

Vergleiche mit ==,
Zuweisungen mit =

folgende stelle liefert nicht das was es soll:

C++:
if(Zahl=PCeingabe)


genauso:

C++:
while(Zahl=PCeingabe);



da muss immer ein == hin! das doppelte Ist-Gleich hat schon eine Bedeutung!

und ich bild mir ein das die portable funktion


C++:
srand(...);


ist, anstatt randomize
--
class God : public ChuckNorris { };

Dieser Post wurde am 18.10.2003 um 16:06 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
18.10.2003, 19:56 Uhr
~RedEagle
Gast



C++:

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <process.h>

int main()
{
int Zahl;
int PCeingabe;
int i=0;
int Zaehler;

srand(getpid()); //kreiert die Zufalls-zahl
PCeingabe = rand() % 101+1; //weißt die zahl der Variable zu

   do
   {
      
      i++;
      cin >> Zahl;
      
        if (Zahl < PCeingabe)
         {  
          cout << "Die eingegebene Zahl ist kleiner als die gesuchte Zahl!";
         }
       if (Zahl > PCeingabe)
         {  
          cout << "Die eingegebene Zahl ist grösser als die gesuchte Zahl!";
         }
        if (Zahl == PCeingabe)
         {  
          cout << "Die Zahl wurde beim " << i << "-ten mal erraten!";
         }
      
      
   }
   while (Zahl != PCeingabe); //WICHTIG Die schleife wird so oft durchlaufen,
                              //wie Zahl ungleich PCeingabe ist

   getch();
}




Jetzt läufts!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
26.10.2003, 10:34 Uhr
~AntiHero
Gast



C++:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <process.h>

int main()
{
int Zahl;
int PCeingabe;
int i=0;
//int Zaehler war eine unnötige eingabe

srand(getpid()); //kreiert die Zufalls-zahl
PCeingabe = rand() % 101+1; //weißt die zahl der Variable zu

cout << "Geben sie eine Zahl zwischen 1 und 100 ein: \n";

   do
   {
      
      i++;
      cin >> Zahl;
      
        if (Zahl < PCeingabe)
         {  
          cout << "Die eingegebene Zahl ist kleiner als die gesuchte Zahl!\t\t";
         }
       if (Zahl > PCeingabe)
         {  
          cout << "Die eingegebene Zahl ist groesser als die gesuchte Zahl!\t";
         }
        if (Zahl == PCeingabe)
         {  
          cout << "Die Zahl wurde beim " << i << "-ten mal erraten!\n";
         }
      
      
   }
   while (Zahl != PCeingabe); //WICHTIG Die schleife wird so oft durchlaufen,
                              //wie Zahl ungleich PCeingabe ist

   getch();
   return 0; //int main() soll einen wert zurückgeben
}



Der Code war so in Ordnung es gab nur 2 Warnungen die ich besseitigt habe und ich habe es ein bisschen verändert. Jetzt wird am Anfang der user zur Eingabe aufgefordert und es ist nicht alles eine Wurst ich habe mit Tabulatoren einen Abstand hinzugefügt und auch denn beginn einer neuen Zeile.
Die 2 Warnungen waren folgende: int zaehler war unnötig und int main() soll einen wert zurückgeben deshalb return 0;

--edit: Pablo. [ cpp ] tags gesetzt--

Dieser Post wurde am 26.10.2003 um 12:02 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


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: