• FEATURED

View more

View more

View more

### Image of the Day Submit

IOTD | Top Screenshots

### The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

# Guessing Game Problem

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

13 replies to this topic

### #1GarciaBackhoff  Members

Posted 12 April 2012 - 12:21 PM

Hello, I tried making a guess my number game, but inverted, by having the user input a number and the computer trying to guess it.
Here is the source code.

//Guess my Number (inverted)
//The computer will guess your number
#include <iosteam>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{
int myNumber,;
char yorn;
cout <<"Enter a number between 1 and 10: ";
cin >> myNumber;
cout <<"\nYou chose "<<myNumber <<" as your number."

do
{
srand(time(0));
int theNumber = rand() % 10 + 1;
cout <<"Is your number "<<theNumber<<"? (y/n)";
cin >> yorn;
} while (yorn == y);
cout <<"I won !";
return 0;
}


DevC++ says there is a problem in this part.

cout <<"Enter a number between 1 and 10: ";

Thanks

### #2Álvaro  Members

Posted 12 April 2012 - 12:30 PM

What's the exact error message? It might not mean anything to you, but it probably means something to more experienced programmers, and we can help you understand it.

EDIT: What does your compiler think of "<iosteam>" [sic]? You should generally only look at the first error message.

### #3RobD122  Members

Posted 12 April 2012 - 12:31 PM

Why is there a comma after int mynumber? Also your loop will only run if the guess is right on the first shot. Shouldn't it be while yorn != y

### #4Zael  Members

Posted 12 April 2012 - 12:42 PM

Problem looks like it is here:
int myNumber,;
Should not have a comma unless you are declaring multiple ints on that line.

You are also missing a semi-colon on this line:
cout <<"\nYou chose "<<myNumber <<"as your number."


Also you should use an up-to-date IDE like MS Visual Studio Express or CodeBlocks.

### #5GarciaBackhoff  Members

Posted 12 April 2012 - 12:56 PM

What's the exact error message? It might not mean anything to you, but it probably means something to more experienced programmers, and we can help you understand it.

EDIT: What does your compiler think of "<iosteam>" [sic]? You should generally only look at the first error message.

It displays a lot of messages, but I believe its this one...
"iosteam: No such file or directory. "

### #6SimonForsman  Members

Posted 12 April 2012 - 01:04 PM

What's the exact error message? It might not mean anything to you, but it probably means something to more experienced programmers, and we can help you understand it.

EDIT: What does your compiler think of "<iosteam>" [sic]? You should generally only look at the first error message.

It displays a lot of messages, but I believe its this one...
"iosteam: No such file or directory. "

it should be:
#include <iostream>

also, move the srand to before the do .... while loop (you only want to call it once)
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

### #7jschmuff  Members

Posted 12 April 2012 - 01:06 PM

you need <iostream> not <iosteam>... also remove the above mentioned syntax error and you can adjust the loop according to how you want it.

EDIT** Just too slow! HAHA

### #8GarciaBackhoff  Members

Posted 12 April 2012 - 01:11 PM

Still giving me problems, here is what I have changed.

//Guess my Number (inverted)
//The computer will guess your number
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{
int myNumber;
char yorn;
cout <<"Enter a number between 1 and 10: ";
cin >> myNumber;
cout <<"\nYou chose "<<myNumber <<" as your number.";
srand(time(0));
do
{
int theNumber = rand() % 10 + 1;
cout <<"Is your number "<<theNumber<<"? (y/n)";
cin >> yorn;
} while (yorn != y);
cout <<"I won !";
return 0;
}

### #9Zael  Members

Posted 12 April 2012 - 01:15 PM

y is undefined. What you probably meant is 'y', which is the character y instead of the variable y.

Line: 20

### #10RobD122  Members

Posted 12 April 2012 - 01:28 PM

Also keep in mind if you do (yorn != 'y') that will only check against the character y which is different from the character Y. If you want both you'd have to do ((yorn != 'y') || (yorn !='Y'))

|| is an or operator which will allow it to check both possiblities

### #11GarciaBackhoff  Members

Posted 12 April 2012 - 01:33 PM

Ok changed everything you have stated, but it still marks something wrong with the <iostream>.

//Guess my Number (inverted)
//The computer will guess your number
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{
int myNumber;
char yorn;
cout <<"Enter a number between 1 and 10: ";
cin >> myNumber;
cout <<"\nYou chose "<<myNumber <<" as your number.";

srand(time(0));
do
{
int theNumber = rand() % 10 + 1;
cout <<"Is your number "<<theNumber<<"? (y/n)";
cin >> yorn;
} while ((yorn != 'y') || (yorn !='Y'));
cout <<"I won !";
return 0;
}


This is what it marks.

C:\Users\Guillermo\Desktop\C++\Learning\test.c|4|error: iostream: No such file or directory|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|5|error: cstdlib: No such file or directory|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|6|error: ctime: No such file or directory|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|8|error: expected '=', ',', ';', 'asm' or '__attribute__' before 'namespace'|
C:\Users\Guillermo\Desktop\C++\Learning\test.c||In function 'main':|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|16|error: 'cout' undeclared (first use in this function)|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|16|error: (Each undeclared identifier is reported only once|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|16|error: for each function it appears in.)|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|17|error: 'cin' undeclared (first use in this function)|
||=== Build finished: 8 errors, 0 warnings ===|

### #12Zael  Members

Posted 12 April 2012 - 01:36 PM

Change the file to test.cpp (or test.cc). I would guess that the IDE is seeing the .c extension and attempting to use gcc (C compiler) instead of g++ (C++ compiler). The code you are trying is only valid C++.

### #13SimonForsman  Members

Posted 12 April 2012 - 01:38 PM

Ok changed everything you have stated, but it still marks something wrong with the <iostream>.

//Guess my Number (inverted)
//The computer will guess your number
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{
int myNumber;
char yorn;
cout <<"Enter a number between 1 and 10: ";
cin >> myNumber;
cout <<"\nYou chose "<<myNumber <<" as your number.";

srand(time(0));
do
{
int theNumber = rand() % 10 + 1;
cout <<"Is your number "<<theNumber<<"? (y/n)";
cin >> yorn;
} while ((yorn != 'y') || (yorn !='Y'));
cout <<"I won !";
return 0;
}


This is what it marks.

C:\Users\Guillermo\Desktop\C++\Learning\test.c|4|error: iostream: No such file or directory|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|5|error: cstdlib: No such file or directory|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|6|error: ctime: No such file or directory|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|8|error: expected '=', ',', ';', 'asm' or '__attribute__' before 'namespace'|
C:\Users\Guillermo\Desktop\C++\Learning\test.c||In function 'main':|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|16|error: 'cout' undeclared (first use in this function)|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|16|error: (Each undeclared identifier is reported only once|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|16|error: for each function it appears in.)|
C:\Users\Guillermo\Desktop\C++\Learning\test.c|17|error: 'cin' undeclared (first use in this function)|
||=== Build finished: 8 errors, 0 warnings ===|

Oh, you're using Dev C++, its old as **** and doens't actually compile standard C++ code.

try changing your includes to #include <iostream.h> <stdlib.h> and <time.h> (it might also work to rename the file test.cpp and not change any code if Dev C++ is better than i remembered).

Alternativly you could get a modern compiler.
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

### #14GarciaBackhoff  Members

Posted 12 April 2012 - 01:40 PM

WORKED!
changed to codeblocks and changed extension.
Thanks guys

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.