【发布时间】:2016-01-11 22:10:40
【问题描述】:
我在这个项目上已经花了好几个小时试图弄清楚这一点,但我已经到了脑死的地步,我读到的所有东西都让我感到困惑。
这个想法是输入一个数字,程序会告诉我它是对还是错。每次我输入数字后的结束响应都是数字太低。
此外,最终答案表明答案太低,同时它是正确的。
最后,这个东西是假设再次询问输入的数字是否不正确,但我不知道如何做到这一点。
从字面上看,在这一点上,最微小的建议是非常感谢的。这是一个漫长而痛苦的夜晚。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int number;
//new function
void welcomeMessage(){
printf("Welcome to my new guessing game!\n");
printf("Let's get started!\n");
}
//new function
int randomNumber(){
int range;
srand(time(NULL));
range = (20 - 1) + 1;
number = rand() % range + 1;
return 0;
}
//new function
int guessInput(){
int guess, range;
printf("I'm thinking of a number between 1 and 20\n");
printf("Care to give it a guess? Be careful! You only get 4 tries!\n");
scanf("%d", &guess);
return 0;
}
//new function
int wrongAnswer(){
int guess, number;
if(guess < number)
{
printf("Try again, your guess is too low\n");
return 0;
}
else if(guess > number)
{
printf("Give it another try, your guess was a bit to high\n");
return 0;
}
return 0;
}
//new function
int correctAnswer(){
int guess, number;
if(guess == number)
printf("Great job! That time you got it right!\n");
return 0;
}
int main(){
welcomeMessage();
randomNumber();
guessInput();
wrongAnswer();
correctAnswer();
}
【问题讨论】:
-
您在每个函数中定义新变量——这些不是“全局”的,只存在于这些函数中。
-
不要每次打电话给
srandrand。在程序启动时调用一次。 -
@JonathonReinhart 抱歉,您能进一步解释一下或者可能告诉我吗?我不太明白。
-
“不要使用全局变量”...他解决了那个问题...只是可能没有达到预期的行为
-
未定义行为蝙蝠侠!