- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
猜数字游戏流程图源代码
1、问题描述:
该游戏可以由程序随机产生或由用户输入四个0到9之间的数字,且不重复。玩游戏者通过游戏提示输入八次来匹配上面所输入的数字。A表示位置正确且数字正确,B表示数字正确而位置不正确。2、功能要求:
本游戏显示这样的菜单:
(1) 随机产生数据
(2) 用户输入数据
(3) 退出游戏
游戏成功与否都能返回主菜单3792
第一次输入: 1234
0A2B
第二次输入: 5678
0A1B
第三次输入: 0867
0A1B
第四次输入: 9786
1A1B
第五次输入: 1794
2A0B
第六次输入: 2793
2A2B
第七次输入: 3792
4A0B
游戏成功!!!
3.解题分析
利用主函数调用子函数来实现模块化程序设计。将游戏的每一个功能设计成一个子函数,通过函数调用完成游戏。主要分为两大模块:随机模式和用户模式。
猜数字游戏的主要功能,由系统自动产生4个随机排列的整数,或者由用户输入4个不同的整数,并给用户8次机会猜测数字的数值和排列顺序。如果用户在8次之内没有猜出正确的结果,则提示用户游戏失败,否则提示用户猜数字成功。4. 系统总体框图
5.函数名称及功能
Int main() 主函数
void begin(void) 初始页函数
void c_input(char *str)输入并判断函数
void c_game(char *temp) 游戏实现函数
void c_rand() 随机模式函数
void c_printf() 用户模式函数
int judgeA(char *a,char *b) 获取A函数
int judgeB(char *a,char *b) 获取B 函数
函数间调用关系
7.流程图(1) void c_rand() 随机模式函数流程图
() void c_printf() 用户模式函数流程图
()主函数流程图
.运行结果
(1)起始页
(2)随机模式
(3)用户输入模式
综合题源程序
#include stdio.h//预处理指令
#include stdlib.h//stdlib.h里面定义了五种类型、一些宏和通用工具函数
#include conio.h//定义数据输入、输出的函数,主要是用户通过按键盘操作,如getch()函数
#include string.h//定义字符处理函数的头文件
#include time.h//包含系统时间函数的头文件
void begin(void);//初始页
void c_game(char *temp);
void c_rand();
int judgeA(char *a,char *b);//获取A
int judgeB(char *a,char *b);//获取B
char x[4],y[4];//y[4]是用户输入的数字,x[4]是系统随机产生的数字
void c_input(char *str)//输入函数
{
int i,j;//定义两个变量
input:gets(str);//输入一个字符串
putchar(\n);//格式控制
for(i=0;i4;i++)//循环输入
{
if(str[i]0||str[i]9)//判断输入是否合法
{
printf(无效输入,请重新输入:);
goto input;//无条件转移语句
}
for(j=0;ji;j++)
{
if(str[i]==str[j])
{
printf(无效输入,请重新输入:);
goto input;
}
}
}
}
void c_game(char *temp)//游戏实现函数
{
int a,b,i;
for(i=0;i8;i++)//for循环实现八次输入
{
printf(第 %d 次输入:,i+1);
c_input(y);
a=judgeA(temp,y);//获取a
b=judgeB(temp,y);//获取b
if(a==4)//游戏成
您可能关注的文档
最近下载
- 《思想政治教育方法论》PPT课件 2.第十五章《思想政治教育的研究方法》课件 第十五章《思想政治教育的研究方法》.pptx VIP
- 精美蓝色逻辑图PPT(110页).pptx VIP
- 2024年成都东部集团有限公司招聘真题.docx VIP
- 《思想政治教育方法论》PPT课件 2.第十三章 课件 第十三章《思想政治教育的反馈调节方法》.ppt VIP
- 企业微电网能效管理平台解决方案【53页PPT】.pptx VIP
- 见索即付保函统一规则URDG758中英文.pdf VIP
- 川白芷采收及产地初加工技术规范.pdf VIP
- 2025年广西专业技术人员继续教育公需科目(二)答案.docx VIP
- 《思想政治教育方法论》PPT课件 2.第三章 课件 (有修改)第三章《思想政治教育方法的继承与改革》.ppt VIP
- 微电网控制系统及储能产品应用.ppt VIP
文档评论(0)