已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
_C语言工程训练 课程设计题目: 教小学生算数 学 生 学 号 : 学 生 姓 名 : 指 导 教 师 : 一、 需求分析通过此系统实现以下功能做个位数,十位数的加,减,乘和除,减法不能得负数,除法要除尽,屏幕上随机出现两个数,提示小学生给出答案,答错了要提示重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从个位进到十位。同样,也可降级。1) 加法功能:用PLUS函数实现加法算数,答对输入的题量后可晋级,难度有所增加,结果错误后提示错误并且重新输入。2) 减法功能:用sub函数实现减法算数,并且结果不为负数,答对输入的题量后可晋级,难度有所增加,结果错误后提示错误并且重新输入。3) 乘法功能:用mul函数实现乘法算数,答对输入的题量后可晋级,难度有所增加,结果错误后提示错误并且重新输入。4) 除法功能:用div函数实现除法功能,并且生成的除法算数要除尽,答对输入的题量后可晋级,难度有所增加,结果错误后提示错误并且重新输入。二、 总体设计1) 组成框图 主函数加法功能函数plus减法功能函数sub乘法功能函数mul除法功能函数div 2) 流程图主窗口Switch(1)Switch(2)Switch(3)Switch(4)加法功能减法功能乘法功能除法功能输入题量进入第一关输入题量进入第一关输入题量进入第一关输入题量进入第一关答对数=题量数输入题量进入第下一关输入题量进入第下一关输入题量进入第下一关输入题量进入第下一关答对数=题量数输入题量进入第下一关输入题量进入第下一关输入题量进入第下一关输入题量进入第下一关答对数=题量数退出系统Switch(5)三、 详细设计#include#include#includevoid menu()printf(*);printf(_小朋友,欢迎你们来学习小学算术_);printf( );printf( 1.加法 );printf( 2.减法 );printf( 3.乘法 );printf( 4.除法 );printf( 0.退出 );printf( );printf( 快选择你要学习的内容吧! );printf( );printf(_);printf(*);void plus1()int count=0,m,n,s,total,k;printf(欢迎进入第一关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk)printf(%d,m=rand()%10);printf(+);printf(%d,n=rand()%10);printf(=);total=m+n;loopa:scanf(%d,&s);if(s=total)printf(恭喜你,答对了!n);count+;elseprintf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第一关!n);void plus2()int count=0,m,n,s,total,k;printf(欢迎进入第二关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk)dom=rand()%10;n=rand()%100;while(n10); printf(%d,m); printf(+); printf(%d,n); printf(=);total=m+n; loopa:scanf(%d,&s); if(s=total)printf(恭喜你,答对了!n);count+; elseprintf(回答错误,请重新回答!n);goto loopa; printf(恭喜你通过了第二关!n);void plus3()int count=0,m,n,s,total,k;printf(欢迎进入第三关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk)dom=rand()%100;n=rand()%100;while(m10&n10); printf(%d,m); printf(+); printf(%d,n); printf(=);total=m+n; loopa:scanf(%d,&s); if(s=total)printf(恭喜你,答对了!n);count+; elseprintf(回答错误,请重新回答!n);goto loopa; printf(恭喜你通过了第三关!n);void sub1()int count=0,m,n,s,total,k;printf(欢迎进入第一关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk) dom=rand()%10; n=rand()%10;while(m=n);printf(%d,m);printf(-);printf(%d,n);printf(=); total=m-n; loopa:scanf(%d,&s);if(s=total)printf(恭喜你,答对了!n);count+;elseprintf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第一关!n);void sub2()int count=0,m,n,s,total,k;printf(欢迎进入第二关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk)do m=rand()%100; n=rand()%10;while(m10);printf(%d,m);printf(-);printf(%d,n);printf(=); total=m-n; loopa:scanf(%d,&s);if(s=total)printf(恭喜你,答对了!n);count+;elseprintf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第二关!n);void sub3()int count=0,m,n,s,total,k;printf(欢迎进入第三关!n);printf(请设定题目数量:);scanf(%d,&k); while(countk) dom=rand()%100; n=rand()%100;while(m=n|m10|n10);printf(%d,m);printf(-);printf(%d,n);printf(=); total=m-n; loopa:scanf(%d,&s);if(s=total)printf(恭喜你,答对了!n);count+;elseprintf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第三关!n);void plus()int i;plus1();printf(是否继续挑战?Y(1)/N(0):);scanf(%d,&i);if(i=1)plus2();elsereturn;i=NULL;printf(是否继续挑战?Y(1)/N(0):);scanf(%d,&i);if(i=1)plus3();elsereturn;void sub()int i;sub1();printf(是否继续挑战?Y(1)/N(0):);scanf(%d,&i);if(i=1)sub2();elsereturn;i=NULL;printf(是否继续挑战?Y(1)/N(0):);scanf(%d,&i);if(i=1)sub3();elsereturn;void mul1() int count=0,m,n,s,total,k;printf(欢迎进入第一关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk) printf(%d,m=rand()%10); printf(*); printf(%d,n=rand()%10); printf(=);total=m*n; loopa:scanf(%d,&s); if(s=total)printf(恭喜你,答对了!n);count+; elseprintf(回答错误,请重新回答!n);goto loopa; printf(恭喜你通过了第一关!n);void mul2()int count=0,m,n,s,total,k;printf(欢迎进入第二关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk)do m=rand()%100; n=rand()%10;while(m10); printf(%d,m); printf(*); printf(%d,n); printf(=);total=m*n; loopa:scanf(%d,&s); if(s=total)printf(恭喜你,答对了!n);count+; elseprintf(回答错误,请重新回答!n);goto loopa; printf(恭喜你通过了第二关!n);void mul()int i;mul1();printf(是否继续挑战?Y(1)/N(0):);scanf(%d,&i);if(i=1)mul2();void div1()int count=0,m,n,s,total,k;printf(欢迎进入第一关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk) dom=rand()%10; n=rand()%10;while(n=0|m%n!=0);printf(%d,m);printf(/);printf(%d,n);printf(=); total=m/n; loopa:scanf(%d,&s);if(s=total)printf(恭喜你,答对了!n);count+;elseprintf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第一关!n);void div2()int count=0,m,n,s,total,k;printf(欢迎进入第二关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk) dom=rand()%100; n=rand()%10;while(n=0|m10|m%n!=0);printf(%d,m);printf(/);printf(%d,n);printf(=); total=m/n; loopa:scanf(%d,&s);if(s=total)printf(恭喜你,答对了!n);count+;elseprintf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第二关!n);void div3()int count=0,m,n,s,total,k;printf(欢迎进入第三关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk) dom=rand()%100; n=rand()%100;while(n=0|m10|n10|m%n!=0);printf(%d,m);printf(/);printf(%d,n);printf(=); total=m/n; loopa:scanf(%d,&s);if(s=total)printf(恭喜你,答对了!n);count+;elseprintf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第三关!n);void div()int i;div1();printf(是否继续挑战?Y(1)/N(0):);scanf(%d,&i);if(i=1)div2();elsereturn;i=NULL;printf(是否继续挑战?Y(1)/N(0):);scanf(%d,&i);if(i=1)div3();elsereturn;main()void menu();int k;do menu(); printf(请选择:); scanf(%d,&k); sw
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产风险管理制度
- 初三动员大会发言稿4篇
- 师德师风学习心得体会2000字范文大全3篇
- 电信设备验收流程和规范001
- 中学生关于学雷锋演讲稿范文5篇
- 信息技术新课程学习心得3篇
- 医院药房实习报告:2024医院药房实习总结3篇
- 退休人员个人民主评议总结2篇
- 建筑工程框架结构实习报告3篇
- 感恩节演讲稿:做一个感恩的人6篇
- 执法跟班学习心得体会
- 上呼吸道感染护理查房
- 链轮自动计算表
- 施工安全隐患控制措施
- 二年级数学下册《平移和旋转》说课稿范文
- A -level物理词汇
- 交通事故责任纠纷代理词
- 2022年建筑安全员C证资格考试题库大全-下(判断题2)
- 工程现场签证单模板(共9页)
- 过程设备设计课后习题答案(共38页)
- 初中英语阅读课中高阶思维能力的培养策略
评论
0/150
提交评论