《2023年C语言大型作业-教小学生算数.pdf》由会员分享,可在线阅读,更多相关《2023年C语言大型作业-教小学生算数.pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学习必备 欢迎下载 C 语言工程训练 课程设计题目:教小学生算数 学 生 学 号:学 生 姓 名:指 导 教 师:学习必备 欢迎下载 一、需求分析 通过此系统实现以下功能 做个位数,十位数的加,减,乘和除,减法不能得负数,除法要除尽,屏幕上随机出现两个数,提示小学生给出答案,答错了要提示重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从个位进到十位。同样,也可降级。1)加法功能:用 PLUS 函数实现加法算数,答对输入的题量后可晋级,难度有所增加,结果错误后提示错误并且重新输入。2)减法功能:用 sub 函数实现减法算数,并且结果不为负数,答对输入的题量后可晋级,难度有所增加
2、,结果错误后提示错误并且重新输入。3)乘法功能:用 mul 函数实现乘法算数,答对输入的题量后可晋级,难度有所增加,结果错误后提示错误并且重新输入。4)除法功能:用 div 函数实现除法功能,并且生成的除法算数要除尽,答对输入的题量后可晋级,难度有所增加,结果错误后提示错误并且重新输入。小学生给出答案答错了要提示重新输入直到答对为止要统计给分且累计法功能用函数实现减法算数并且结果不为负数答对输入的题量后可晋级能用函数实现除法功能并且生成的除法算数要除尽答对输入的题量后可学习必备 欢迎下载 二、总体设计 1)组成框图 主函数 加法功能函数 plus 减法功能函数 sub 乘法功能函数 mul 除
3、法功能函数 div 小学生给出答案答错了要提示重新输入直到答对为止要统计给分且累计法功能用函数实现减法算数并且结果不为负数答对输入的题量后可晋级能用函数实现除法功能并且生成的除法算数要除尽答对输入的题量后可学习必备 欢迎下载 2)流程图 主窗口 Switch(1)Switch(2)Switch(3)Switch(4)加法功能 减法功能 乘法功能 除法功能 输入题量进入第一关 输入题量进入第一关 输入题量进入第一关 输入题量进入第一关 答对数=题量数 输入题量进入第下一关 输入题量进入第下一关 输入题量进入第下一关 输入题量进入第下一关 答对数=题量数 输入题量进入第下一关 输入题量进入第下一关
4、 输入题量进入第下一关 输入题量进入第下一关 答对数=题量数 退出系统 Switch(5)小学生给出答案答错了要提示重新输入直到答对为止要统计给分且累计法功能用函数实现减法算数并且结果不为负数答对输入的题量后可晋级能用函数实现除法功能并且生成的除法算数要除尽答对输入的题量后可学习必备 欢迎下载 三、详细设计#include#include#include void menu()printf(*);printf(_小 朋 友,欢 迎 你 们 来 学 习 小 学 算 术_);printf();printf(1.加 法 );printf(2.减 法 );printf(3.乘 法 );printf(4
5、.除 法 );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);小学生给出答案答错了要提示重新输入直到答对为止要统计给分且累计法功能用函数实现减法算数并且结果不为负数答对输入
6、的题量后可晋级能用函数实现除法功能并且生成的除法算数要除尽答对输入的题量后可学习必备 欢迎下载 printf(=);total=m+n;loopa:scanf(%d,&s);if(s=total)printf(恭喜你,答对了!n);count+;else printf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第一关!n);void plus2()int count=0,m,n,s,total,k;printf(欢迎进入第二关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk)do m=rand()%10;n=rand
7、()%100;while(n10);printf(%d,m);printf(+);printf(%d,n);printf(=);total=m+n;loopa:scanf(%d,&s);if(s=total)printf(恭喜你,答对了!n);count+;else printf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第二关!n);void plus3()int count=0,m,n,s,total,k;printf(欢迎进入第三关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk)do m=rand()%100
8、;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+;else printf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第三关!n);
9、void sub1()int count=0,m,n,s,total,k;printf(欢迎进入第一关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk)do m=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+;else printf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第一关
10、!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;
11、loopa:scanf(%d,&s);if(s=total)printf(恭喜你,答对了!n);count+;else printf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第二关!n);void sub3()int count=0,m,n,s,total,k;printf(欢迎进入第三关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk)do m=rand()%100;n=rand()%100;while(m=n|m10|n10);printf(%d,m);printf(-);printf(%d,n);printf
12、(=);total=m-n;loopa:scanf(%d,&s);if(s=total)printf(恭喜你,答对了!n);count+;else printf(回答错误,请重新回答!n);goto loopa;小学生给出答案答错了要提示重新输入直到答对为止要统计给分且累计法功能用函数实现减法算数并且结果不为负数答对输入的题量后可晋级能用函数实现除法功能并且生成的除法算数要除尽答对输入的题量后可学习必备 欢迎下载 printf(恭喜你通过了第三关!n);void plus()int i;plus1();printf(是否继续挑战?Y(1)/N(0):);scanf(%d,&i);if(i=1)
13、plus2();else return;i=NULL;printf(是否继续挑战?Y(1)/N(0):);scanf(%d,&i);if(i=1)plus3();else return;void sub()int i;sub1();printf(是否继续挑战?Y(1)/N(0):);scanf(%d,&i);if(i=1)sub2();else return;i=NULL;printf(是否继续挑战?Y(1)/N(0):);scanf(%d,&i);if(i=1)sub3();else return;void mul1()int count=0,m,n,s,total,k;printf(欢迎进
14、入第一关!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+;else printf(回答错
15、误,请重新回答!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+;else print
16、f(回答错误,请重新回答!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(请设定题目数量:);sc
17、anf(%d,&k);while(countk)do m=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+;else printf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第一关!n);void div2()int count=0,m,n,s,total,k;printf(欢迎进入第二关!n);printf(请
18、设定题目数量:);scanf(%d,&k);while(countk)do m=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+;e
19、lse printf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第二关!n);void div3()int count=0,m,n,s,total,k;printf(欢迎进入第三关!n);printf(请设定题目数量:);scanf(%d,&k);while(countk)do m=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)print
20、f(恭喜你,答对了!n);count+;else printf(回答错误,请重新回答!n);goto loopa;printf(恭喜你通过了第三关!n);void div()int i;div1();printf(是否继续挑战?Y(1)/N(0):);scanf(%d,&i);if(i=1)div2();else return;小学生给出答案答错了要提示重新输入直到答对为止要统计给分且累计法功能用函数实现减法算数并且结果不为负数答对输入的题量后可晋级能用函数实现除法功能并且生成的除法算数要除尽答对输入的题量后可学习必备 欢迎下载 i=NULL;printf(是否继续挑战?Y(1)/N(0):)
21、;scanf(%d,&i);if(i=1)div3();else return;main()void menu();int k;do menu();printf(请选择:);scanf(%d,&k);switch(k)case 1:plus();break;case 2:sub();break;case 3:mul();break;case 4:div();break;case 0:break;printf(n);while(k!=0);printf(n);return 0;小学生给出答案答错了要提示重新输入直到答对为止要统计给分且累计法功能用函数实现减法算数并且结果不为负数答对输入的题量后可
22、晋级能用函数实现除法功能并且生成的除法算数要除尽答对输入的题量后可学习必备 欢迎下载 四、测试结果 1)主程序界面 2)加法运算 小学生给出答案答错了要提示重新输入直到答对为止要统计给分且累计法功能用函数实现减法算数并且结果不为负数答对输入的题量后可晋级能用函数实现除法功能并且生成的除法算数要除尽答对输入的题量后可学习必备 欢迎下载 3)减法运算 4)乘法运算 小学生给出答案答错了要提示重新输入直到答对为止要统计给分且累计法功能用函数实现减法算数并且结果不为负数答对输入的题量后可晋级能用函数实现除法功能并且生成的除法算数要除尽答对输入的题量后可学习必备 欢迎下载 5)除法运算 五、设计体会 小学生给出答案答错了要提示重新输入直到答对为止要统计给分且累计法功能用函数实现减法算数并且结果不为负数答对输入的题量后可晋级能用函数实现除法功能并且生成的除法算数要除尽答对输入的题量后可