之前答应你们的猜数字游戏来啦,因为过年,变懒了,所以隔了快一个月才想起来发
在我们做一个实战项目之前,要先想好思路,想要做好猜数字游戏,我们得要做好以下的事情
1.做一个目录
2.做一个运行游戏和退出游戏的选项
3.别人猜数字之后,要告诉别人猜大了,猜小了,猜中了等等
4.要生成随机数,并且是要有一个范围的
1.目录很简单
做一个目录函数
void menu()
{
printf("************************\n");
printf("*******1.猜数字*********\n");
printf("*******0.退出***********\n");
printf("************************\n");
}
运行和退出都可以让用户在这里知道怎么操作
2.运行和退出的选项可以用switch来完成
3.猜大了,猜小了用if来比较就行了,并且在没猜中的时候应该while(1)来循环执行,然后猜中了就用break跳出
4.最难的就是生成随机数了,这里我们要了解一个函数
ret=rand()%100+1;
这个函数就是生成随机数的函数,对他进行对100取余,也就控制住数字在1-100了
但是这个函数是伪随机的,第二次执行程序的时候,还会是一样的数字
所以我们还要再加这样一段代码,让他随之时间变化而变化
srand((unsigned int)time(NULL));
在这些问题都解决的时候,就能写出猜数字的代码了
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("************************\n");
printf("*******1.猜数字*********\n");
printf("*******0.退出***********\n");
printf("************************\n");
}
void game()
{
int guess,ret;
ret=rand()%100+1;
printf("请输入:>\n");
while (1)
{
scanf("%d", &guess);
if (guess > ret)
printf("猜大了\n");
else if (guess < ret)
printf("猜小了\n");
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
int main()
{
int n;
srand((unsigned int)time(NULL)); //这个位置不用纠结,在cplasplas里面的举例里,这个函数和rand是配合使用的
do
{
menu();
scanf("%d", &n);
switch (n)
{
case 1:
{
game();
break;
}
case 0:
{
printf("退出程序\n");
break;
}
default:
printf("输入错误\n");
break;
}
} while (n);
return 0;
}
就这一点点简单的代码,就可以完成猜数字的游戏了,快去试试把