已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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;ma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年计算机网络安全与防护综合测试卷
- 工程测量测设的基本工作
- 2026-2027年计算机专业移动应用开发专项训练习题
- 2026-2027年江苏省苏教版高二地理第2章月考卷
- 2026年福建省人教版高中生物一轮复习细胞生物学知识巩固习题
- 2026植物基蛋白饮料消费者画像与口味测试报告
- 2026年秋冬季节流感预防-联防联控工作人员志愿服务与科普宣传学习课件
- 四年级数学统计课件
- 2026 年国庆节长假居家风险排查课件
- 中班安全应对各种危险教案反思
- 全国港口与航道布局规划
- GB/T 31439.2-2025波形梁钢护栏第2部分:三波形梁钢护栏
- 人教版八年级历史上册第一次月考试卷(附答案)
- 管理类面试中的行为面试技巧与经验分享
- 2025年病历书写规范试题及答案
- 公司对实习生管理制度
- T/CECS 10201-2022丁基橡胶自粘防水卷材
- 弘扬长征精神主题班会课件
- 期末典例专练21:百分数与生活实际问题(折扣、成数、税率、利率)“综合版”(学生版+解析)-2024-2025学年六年级数学上册培优精练(北师大版)
- 童庆炳《文学概论》学习重点
- 2023级电力-新能源装备技术专业人才培养方案
评论
0/150
提交评论