gpt4 book ai didi

c - C 字母游戏提前结束

转载 作者:行者123 更新时间:2023-11-30 16:56:49 24 4
gpt4 key购买 nike

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#define MAXGUESSES 5
// function declarations
void GameRules();
int SingleGame(char file_letter);
char RetrieveGuess();
int GuessedIt(char answer, char input_letter);
int main()
{
int PlayGames = 0, //Variable Declarations
i = 0; //Variable Declarations
char correctanswer; //Variable Declarations

GameRules(); //Call of GameRules Function
FILE *fp; //Opening File
fp = fopen("lettersin", "r"); //Opening File for Reading
printf("How many games would you like to play?1-4:"); //Prompting for Number of Games to Play
scanf("&d", &PlayGames); //Scanning number of games wished to be played, storing it in PlayGames
for (i = 0; i<PlayGames; i++) //For Loop that lasts until i=playgames
{
fscanf(fp, "%c", &correctanswer); //function to scan 1 letter from lettersin.txt
int SingleGame(correctanswer); //Play one game
if (SingleGame == 1) //if Single Game returns 1, you win
{
printf("You Win!");
}
else if (SingleGame == 0) //If Single Game returns 0, you lose
{
printf("You Lose");
}
}
fclose(fp); //Closes the File
return 0;
}

void GameRules() //Function that prints the Rules
{
printf("This is the Letter Game. The goal is to guess the correct letter within 5 attempts. After each guess you will be told whether the letter you attempted to guess comes before or after the letter actually guessed.\n");
}

char RetrieveGuess() //Function to prompt for a guess, then store the guess in an integer that is returned by the function when called
{
char a;
printf("Enter a letter");
scanf("%c", &a);
return a;
}

int GuessedIt(char answer, char input_letter) //Function that returns 1 when the answer is correct, or suggests where the correct answer is if the guess is incorrect
{
if (answer == input_letter) //if the guess is the same as the answer, return 1
{
return 1;
}
else if (answer > input_letter) //if the guess is incorrect, suggest on how to improve and return 0
{
printf("the correct letter comes before your guess"); return 0;
}
else
{
printf("the correct letter comes after your guess"); return 0;
}

}


int SingleGame(char file_letter) //Function to play 1 game
{
int numGuesses = 0; //Variable Declarations
char b;
while (numGuesses < MAXGUESSES) //While Loop that repeats until numguesses=maxguesses
{
b=RetrieveGuess(); //sets b equal to the value RetrieveGuess returns
GuessedIt(file_letter, b); //uses b and whichever value is entered into SingleGame to determine wheter the answer is correct
if (GuessedIt == 1) //If function that returns 1 if the guess is correct and ends the function, otherwise it increments numguesses
{
return 1;
numGuesses = 6;
}
else numGuesses = numGuesses++; //increments numguesses to end loop after 5 guesses

}
if (numGuesses == 5) //returns 0 if the letter is not guessed within 5 tries
{
return 0;
}

}

当我尝试运行我的代码时,我没有收到任何错误消息,但我的代码在我输入我想玩的游戏数量后结束。除了“无法找到或打开 PDB 文件”之外没有任何错误,并且我使用的是 Microsoft Visual Studio 2013 Express

最佳答案

它是 scanf("%d", &PlayGames); (将 &d 更改为 %d)

关于c - C 字母游戏提前结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39798178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com