关于昨天的 猜数字 积分系统 初步做了一个 没学数据库 不能保存 在 学
程序代码:# include <stdio.h>
# include <stdlib.h>
# include <time.h>
# include <malloc.h>
int scanf_1 (void);//此函数用于输入
void judge_1 (int);//此函数用于判断
void kernel_1 (void);//此函数为运行游戏
void kernel_2 (int);//此函数用于重复判断输入结果
void close_1 (void);//此函数用于退出
void close_2 (void);//此函数用于确认退出
void integral_1 (void);//函数功能 待定
void game_1 (void);//此函数用来输出游戏规则 和 介绍
int game_2 (void);//此函数用于随机产生一个数字
int game_3 (int ,int);//此函数用于判断用户输入的数字 和随机数字的大小
int game_4 (int);//此函数为游戏输出你所输入的值是否正确
void Menu_1 (void);//主菜单
int * p = (int *)malloc(sizeof(int)) ;
int main (void)
{
* p = 0;
Menu_1 ();
return 0;
}
void Menu_1 (void)//主菜单
{
int a, b;//定义两个变量 用于用户选择
do//此循环用于让用户选择 错误再次选择
{
printf ("请输入:\n");//输出选择选项
printf (" 1. 开始游戏\n");
printf (" 2. 退出游戏\n");
printf (" 3. 查询积分(暂时不能记录信息)\n");
a = scanf_1 ();
if (a>3)//选择 如果输入 错误 就再次输出 选择选项
{
printf ("对不起输入错误 请重新输入\n");
b = 1;
}
else if (a<=0)
{
printf ("对不起输入错误 请重新输入\n");
b = 1;
}
else b = 0;
}
while (b);//循环选择 直到输入正确的值
judge_1 (a);//将输入结果给予judge_1进行判断 确定用户选择
}
int scanf_1 (void)//让用户输入一个值
{
int opt;
printf ("请输入一个值\n");
scanf ("%d",&opt);
fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
return (opt);
}
void judge_1 (int a)//判断用户选择情况
{
if (a==1)
{
kernel_1 ();
}
else if (a==2)
{
close_1 ();
}
else
{
integral_1 ();
}
}
void kernel_1 (void)//此函数为运行游戏
{
int a, spot, accept, result, key;//spot 用于存放随机数 为后面循环 accept 用于接收用户输入的值 result 用于储存判断结果 key 用于储存判断结果 关于 是否正确的
game_1 ();//此函数用来输出游戏规则 和 介绍
a = game_2 ();//得到随机数
spot = a;//将随机数保存
accept = scanf_1 () ;//让用户输入一个值
result = game_3 (spot, accept);//此函数用于判断用户输入的数字 和随机数字的大小
key = game_4 (result);//用于储存判断结果 关于 是否正确的
if (key==0)
{
kernel_2 (spot);
}
else
{
close_2 ();
}
}
void integral_1 (void)//函数功能 待定
{
char good;
printf ("你好 你的积分是%d\n", *p);
printf ("返回游戏请输入 Y 退出 N\n");
do
{
scanf ("%c",&good);//输入选择
fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
if (good=='y'||good=='Y')
{
Menu_1 ();
}
else if (good=='n'||good=='N')
{
close_1 ();
break;
}
else
{
printf ("对不起 输入错误 请重新输入\n你是否要继续游戏呢?\ny 退出 \nn 继续\n");
}
}
while (1);
}
void game_1 (void)//此函数用来输出游戏规则 和 介绍
{
printf ("游戏规则\n1.输入一个数(1~30000) 程序会提示你 输入的数字大了或是小了\n2.直到输入正确游戏记一分\n3.输入错误重新输入\n");
printf ("\n\n制作人: 小偌 \n");
printf ("\n希望大家玩的愉快 后期我会加上积分系统的\n这是我第一次做的东西很多不好的地方请指出来谢谢\n");
printf ("thanks\n\n\n");
}
int game_2 (void)//此函数用于随机产生一个数字
{
int a;//定义变量 用于储存 随机数
srand(time(NULL));//时间作为种子
a = rand() % 30000+1;//给a赋予随机值
return a;
}
int game_3 (int spot,int accept)//此函数用于判断用户输入的数字 和随机数字的大小
{
int i;//定义变量i 用于储存判断后给予的值
if (spot>accept) i = 1;
else if (spot<accept) i = 2;
else i = 3;
return i;
}
int game_4 (int i)//此函数为游戏输出你所输入的值是否正确
{
int k;//定义变量 k 用于返回判断结果 为后面循环 输入
if (i==1)
{
printf ("对不起哦~你所输入的值 小了 再试试吧\n");
k = 0;
}
else if (i==2)
{
printf ("对不起哦~你所输入的值 大了 再试试吧\n");
k = 0;
}
else
{
printf("恭喜你 回答正确!!!\n");
k = 1;
}
return k;
}
void close_1 (void)//此函数用于退出
{
printf ("bey bey\n");
}
void close_2 (void)//此函数用于确认退出
{
char xxx;//定义变量xxx 用于存放 用户是否要推出的选择
printf ("不得不恭喜你 你猜对了~ 恭喜了~\n你是否要继续游戏呢?\ny 退出 \nn 继续\n");
* p = * p +1;
do
{
scanf ("%c",&xxx);//输入选择
fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
if (xxx=='y'||xxx=='Y')
{
close_1 ();
break;
}
else if (xxx=='n'||xxx=='N')
{
Menu_1 ();
}
else
{
printf ("对不起 输入错误 请重新输入\n你是否要继续游戏呢?\ny 退出 \nn 继续\n");
}
}
while (1);
}
void kernel_2 (int spot)//此函数用于重复判断输入结果
{
int accept, result, key;//spot 用于存放随机数 为后面循环 accept 用于接收用户输入的值 result 用于储存判断结果 key 用于储存判断结果 关于 是否正确的
accept = scanf_1 () ;//让用户输入一个值
result = game_3 (spot, accept);//此函数用于判断用户输入的数字 和随机数字的大小
key = game_4 (result);//用于储存判断结果 关于 是否正确的
if (key==0)
kernel_2 (spot);
else
close_2 ();
}








