• Advertisement
Sign in to follow this  

Guessing Game Problem

This topic is 2110 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

[color=#000000][font=verdana, arial, helvetica, sans-serif]

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.[/font]
[color=#000000][font=verdana, arial, helvetica, sans-serif]

Here is the source code.[/font]


//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;
}




[color=#000000][font=verdana, arial, helvetica, sans-serif]

DevC++ says there is a problem in this part.[/font]

[color=#000000][font=verdana, arial, helvetica, sans-serif]

cout <<"Enter a number between 1 and 10: ";[/font]

Thanks

Share this post


Link to post
Share on other sites
Advertisement
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 [font=monospace]"<[/font]iosteam>" [sic]? You should generally only look at the first error message.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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 [font=monospace]"<[/font]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. "

Share this post


Link to post
Share on other sites

[quote name='alvaro' timestamp='1334255435' post='4930635']
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 [font=monospace]"<[/font]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. "
[/quote]

it should be:
#include <iostream>

also, move the srand to before the do .... while loop (you only want to call it once)

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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;
}

Share this post


Link to post
Share on other sites
y is undefined. What you probably meant is 'y', which is the character y instead of the variable y.

Line: 20

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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 ===|

Share this post


Link to post
Share on other sites
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++.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement