Jump to content

  • Log In with Google      Sign In   
  • Create Account

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.

  • You cannot reply to this topic
13 replies to this topic

#1 GarciaBackhoff   Members   -  Reputation: 100

Like
0Likes
Like

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

Sponsor:

#2 Álvaro   Crossbones+   -  Reputation: 13368

Like
1Likes
Like

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.

#3 RobD122   Members   -  Reputation: 126

Like
1Likes
Like

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

#4 Zael   Members   -  Reputation: 154

Like
1Likes
Like

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.

#5 GarciaBackhoff   Members   -  Reputation: 100

Like
0Likes
Like

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. "

#6 SimonForsman   Crossbones+   -  Reputation: 6122

Like
1Likes
Like

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!

#7 wicked357   Members   -  Reputation: 1167

Like
0Likes
Like

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

#8 GarciaBackhoff   Members   -  Reputation: 100

Like
0Likes
Like

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


#9 Zael   Members   -  Reputation: 154

Like
1Likes
Like

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

#10 RobD122   Members   -  Reputation: 126

Like
1Likes
Like

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

#11 GarciaBackhoff   Members   -  Reputation: 100

Like
0Likes
Like

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 ===|

#12 Zael   Members   -  Reputation: 154

Like
0Likes
Like

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++.

#13 SimonForsman   Crossbones+   -  Reputation: 6122

Like
0Likes
Like

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!

#14 GarciaBackhoff   Members   -  Reputation: 100

Like
0Likes
Like

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.



PARTNERS