猜数字游戏范例

时间:2022-12-13 11:14:35

#include<stdlib.h>

#include<time.h>

void menu()

{

printf("***************************\n");

printf("**  1.play  0.exit ********\n");

printf("***************************\n");

}


void game()

{

int ret = 0;//定义一个随机数

int guess = 0;

ret = rand()%100+1;//生成1-100直接的随机数;

//ret 不能放到循环里面,可能永远猜不到

while (1)

{

 printf("请猜数字:>");

//  Sleep(1000);//自加

//system("cls");//执行系统命令的一个函数-cls清空屏幕;

 scanf("%d", &guess);

 if (guess > ret)

 {

  printf("猜大了\n");

 }

 else if (guess < ret)

 {

  printf("猜小了\n");

 }

 else

 {

  printf("恭喜你,猜对了\n");

  break;

 }

}

}

int input = 0;//3.定义一个最初的输入

srand((unsigned int)time(NULL));//srand:设置一个随机起点

//time:获取系统时间,类型为长整型,NULL为空指针

//把srand函数放到循环前面,只定义一次,不循环定义

//强制把time转换为srand所需要的unsigned int类型

//time代表的是一个指针 给NULL这样一个值代表空指针

do //1.选择do while语句,游戏至少进去1次

{

menu();//2.给一个菜单,46行用

printf("请选择>:");

scanf("%d", &input);//4.取地址输入()进入或者退出

switch (input)//5.可能出现3种情况,多分支

 //主要目标是实现game函数

{

case 1:

  game();//猜数字游戏的过程

  break;

case 0:

 printf("退出程序\n");

 break;

default:

 printf("选择错误\n");

 break;

}

}  

while (input);//如果input里面放的是1,1为真,switch循环继续

return 0;

}