By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,562 Members | 1,242 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,562 IT Pros & Developers. It's quick & easy.

hangman program stuck.. nid help.

P: n/a
#include <iostream>
#include <fstream>
using namespace std;
const int max_tries=7;
int earnings=0;
int wordnum;

void getword ()
{
ifstream fin;
string word;
//int mark;
int value;
cin >value;
fin.open("guess.txt");
if (!fin.good())
{
cerr << "File not found\n";
// return 1;
}
int i =0;
while(!fin.eof())
{
i++;
fin >word;
if(i==value)
break;
}
cout << word << endl;
//cout << "Mark is : " << mark << endl << endl;
//return 0;
}

int main()
{
cout << "*** HANGMAN Guess a Word Game *** \n";
int NUM;
cout << "Enter a number between 1 to 20: ";
cin >>NUM;
if (NUM<1)
cout << "Too small. Please enter a number between 1 to 20: ", cin >>
NUM;
if (NUM>20)
cout << "Too big. Please enter a number between 1 to 20: ", cin >>
NUM;

cout << "Current earnings: $" << earnings << "\n";
cout << "Max number of tries is " << max_tries << "\n";
getword ();
cout << "*********************************" << endl;

system ("pause");
return 0;
}

Oct 16 '07 #1
Share this Question
Share on Google+
3 Replies


P: n/a
im new to C++ and i got an assignment which required me to do a
hangman game. Global variables are not allowed. program must be
modular, i.e create suitable functions. for functions, i was told to
use reference parameters instead of pointer parameters. i am to use
string class and not character array(e.g char x[20]).whenever
possible, you are to use keyword 'const' for function parameters and
prototype.

1. write a program (guess.cpp) that allows user to play the Hangman
game, as follows:

a) program 1st prompts user to enter a number between 1 - 20, reads a
word to guess from a file guess.txt, based on the number entered. the
file has the following format:

word1 PrizeAmount
word2 PrizeAmount
word3 PrizeAmount
:
:
:
word20 PrizeAmount

b) program then prompts the user to guess a letter. if the letter is
in the word, that letter will be displayed in the position(s) it
occurs. if it is incorrect, the incorrect letter is added to the
string of incorrect guesses and the number of attempts is incremented
by 1.

c) if user guesses a letter which he/she already guessed before,
program should display an error message and it should not increase the
number of attempts.

d) the user wins if he/she guesses the word with no more than 7
incorrect guesses. if user wins, the prize amount is added to his
earnings (initially set to $0). if user loses, the prize amount is
deducted from his earnings and program wil display the word to guess.

e) program will quit if user's earnings is less than $0 or he chooses
to quit the game after each round.

f) as an illustration, suppose the file guess.txt has the following
content:
life 50
home 100
house 150

if user enters a number 3, the word to guess will be "house".

Oct 16 '07 #2

P: n/a
kaka_hunter wrote:
im new to C++ and i got an assignment which required me to do a
hangman game. Global variables are not allowed. program must be
modular, i.e create suitable functions. for functions, i was told to
use reference parameters instead of pointer parameters. i am to use
string class and not character array(e.g char x[20]).whenever
possible, you are to use keyword 'const' for function parameters and
prototype.

[..]
FAQ 5.2.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Oct 16 '07 #3

P: n/a
<ka*********@hotmail.comwrote:
#include <iostream>
#include <fstream>
using namespace std;
const int max_tries=7;
int earnings=0;
int wordnum;

void getword ()
Focus on that signature. getword should return something, should it not?
Also, it has to get a *specific* something.
How about something along these lines?

// returns the chosen target word
string getword(int target_ix, int& prize_amt)

There is little point in getting something to work if it isn't going to be
useful when it does work, is there?

Note that you have to read two items per line, not one.

The signature given above may need tweaking to meet the boilerplate in the
spec you have been given, but I think it is close to what you will want.
(Lightly sprinkle some "const" and '&' to satisfy the instructor.)

<snip>
Oct 16 '07 #4

This discussion thread is closed

Replies have been disabled for this discussion.