关于昨天的 猜数字 积分系统 初步做了一个 没学数据库 不能保存 在 学
程序代码:
# 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 (); }