C语言大型作业-教小学生算数.doc_第1页
C语言大型作业-教小学生算数.doc_第2页
C语言大型作业-教小学生算数.doc_第3页
C语言大型作业-教小学生算数.doc_第4页
C语言大型作业-教小学生算数.doc_第5页
已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论