int main()
//主函数-程序入口-main函数有且只有一个
{
void menu()
{
printf("-------------------------------");
printf("--------1.pley 2.exit-------");
printf("-------------------------------");
}
void game()
{
int guess = 0;
int ret = rand() % 10 + 1;
printf("%d\n", ret);
while (1)
{
printf("猜数字:>");
scanf("%d", &guess);
if (guess > ret)
{
printf("猜大了\n");
}
else if (guess < ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜你猜对了\n");
break;
}
};
}
srand((unsigend int)time(NULL));
int input = 0;
do{
menu();
printf("请选择>:");
scanf("%d", &input);
switch (input)
{
case 1:
game();//猜数字
break;
case 0:
printf("跳出循环\n");
break;
default:
printf("end\n");
break;
}
} while (input);
getcher();
return 0;
}
```一些小的细节问题吧,如函数定义需要放到main()函数外面,一些关键字拼写错误,等。
修改如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 函数定义放到main函数外面
void menu() {
// 菜单打印 每行后面增加一个换行
printf("--------------------------------\n");
printf("--------1.play 2.exit-------\n");
printf("--------------------------------\n");
}
void game() {
int guess = 0;
int ret = rand() % 10 + 1;
printf("%d\n", ret);
while (1) {
printf("猜数字:>");
scanf("%d", &guess);
if (guess > ret) {
printf("猜大了\n");
} else if (guess < ret) {
printf("猜小了\n");
} else {
printf("恭喜你猜对了\n");
break;
}
} // 这里那个分号去除
}
int main() { //主函数-程序入口-main函数有且只有一个
// 这里 unsigend 应为 unsigned
srand((unsigned int)time(NULL));
int input = 0;
do {
menu();
printf("请选择>:");
scanf("%d", &input);
switch (input) {
case 1:
game();//猜数字
break;
case 0:
printf("跳出循环");
break;
default:
printf("end");
break;
}
} while ((input==0)||(input==1)); // do-while条件改为 当input为0或为1
getchar();
return 0;
}