1.整个过程
首先设置菜单,选择是否开始游戏,是则开始,否则退出。之后产生0-100的随机数,然后进行猜数字,结果错误则提示猜大还是猜小了,结果正确则可以选择继续或退出游戏。
2.设置菜单
利用menu(),通过1与0选择开始或退出,即:
void menu()
{
printf("*************************");
printf("*********1.play**********");
printf("*********0.exit**********");
printf("*************************");
}
3.实现过程
先利用do...while循环在菜单进行选择,然后利用switch,case语句选择开始或退出游戏,再利用while循环进行猜数字,最后利用If语句显示结果,即大了或小了或正确
4.产生随机数
利用rand()函数来产生随机数(要引用头文件#include<stdlib.h>),利用rand()前要先引用strand()函数(同样引用头文件#include<stdlib>),由于srand()库函数大小为0-32767,所以要利用时间戳设置随机数生成起点,也因此要引用time()函数(要引用头文件#include<time.h>),类型为unsigned int,之后将srand()函数放在do...while循环中,switch语句之前。要产生0-100随机数,即为rand()%100 + 1。
5.实现程序
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("*************************");
printf("*********1.play**********");
printf("*********0.exit**********");
printf("*************************");
}
void game()
{
int guess = 0;
int ret = 0;
ret = rand() % 100 + 1;//生成0-100随机数
while (1)//进行猜数字
{
printf("猜数字:");
scanf_s("%d", &guess);
if (guess > ret)
{
printf("猜大了!\n");
}
else if (guess < ret)
{
printf("猜小了!\n");
}
else
{
printf("恭喜你猜对了!");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(100));
do
{
menu();
printf("请选择:");
scanf_s("%d", &input);
switch (input)
{
case 1:
printf("开始游戏!\n");
game();
break;
case 0:
printf("退出游戏!\n");
default:
printf("选择错误,请重新选择!\n");
break;
}
} while (input);
system("pause");
return 0;
}