有谁知道这段代码有什么问题。它提出了上面的错误。我正在尝试创建一个生成“随机”字母的程序,并为用户提供最多 6 次猜测该字母的机会。
if ( Play != "y" || Play != "Y" )
编辑:完整代码
// This function displays game instructions, and returns nothing.
void Instructions();
// This function plays one game, and returns "W" if the player wins
// or "L" if the player runs out of guesses.
char Play();
//this function prompts the player to make a guess and returns that guess
char getLetter();
//The function returns 1 if the guess matches the solution and returns a 0 if they do not match
char guess();
// This function returns a random letter between "A" and "Z
char getAnswer();
int CompareLetters(char guess, char answer);
int main()
{
char answer;
//1. Greet the user and ask if they would like to play a guessing game.
printf("\nHello there!\nWould like to play a guessing game?Enter Y or N: \n");
scanf(" %c", &answer);
if(answer == 'y' || answer == 'Y')
Instructions();
{
printf("\nYou entered Y. Let's play!\n");
do{
}while (answer == 'y' || answer == 'Y');
}
printf("\nMaybe next time.\n");
printf("\nGoodBye for now.\n");
return -1;
}
void Instructions()
{
printf("I have a capital letter in mind. You have 6 chances to guess which letter I am \nthinking. I will let you know if you are too high or too low.\n");
printf("After each guess, you will be informed if your guess is too high or too low.\nGood luck!\n");
}
int PlayGuess(char answer)
{
int NumGuesses=0; int WinOrLose=0;
while (NumGuesses < MAX_GUESSES && WinOrLose==0);
{
//6. If the player guesses wrong for a 6th time, console them and let the program end with a return code of 1.
char guess;
guess = getLetter();
CompareLetters(guess,answer);
if(CompareLetters(guess,answer)==1)
{
WinOrLose = 1;
}
else
{
NumGuesses++;
}
}
if (WinOrLose==1)
{
return 1;
}
else
{
return 0;
}
}
//3. Generate a "random" character between 'A' and 'Z'. This will be the value the player will try to guess.
char getLetter()
{
char guess=0;
printf("Please enter your letter guess:", guess);
scanf(" %c",&guess);
return guess;
}
int CompareLetters(char guess, char answer)
{
if(guess == answer)
{
return 1;
}
else
{
////5. If the player does not guess the right answer, display whether the guess is "too high" or "too low".
if (guess < answer)
{
printf("Your guess is too low.");
}
else
{
printf("Your guess is too high.");
}
{
printf("\nDo you want to play again? Y or N: \n");
}
if ( Play != 'y' && Play != 'Y' )
printf("Thanks for playing.Goodbye!/n");
}