小学生数学测试软件-C语言课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

C语言课程设计设计期限2013年6月17开始至2013年6月20结束系别信息管理与信息系统专业班级学生姓名学号指导教师主要内容有:[问题描述],小学生数学测试软件的编写[基本设计要求],1)可选择题型(+,-,*,/);2)可选择每次答题的个数;3)随机生成两个数进行运算;4)每次在输入答案后应判断对错,若答案错误,应给出正确答案;5)给出统计结果。注:根据课程设计的基本要求,针对几点进行了改进,大体改进如下,具体改进详见程序。1)可选择类型有加、减、乘、混合运算;2)可选择每次答题的个数;3)随机生成两个或三个数进行运算;4)每次在输入答案后应判断对错,若答案错误,应给出正确答案;5)给出统计结果,包括正确的个数和分数;6)根据分数的情况给出不同的建议[系统分析],程序中包括头文件#includestdio.h、#includestdlib.h、#includemath.h、#includetime.h包函的函数。定义子函数intstyle()来选择测试类型,定义子函数voidjia(),voidjian(),voidcheng(),voidhun()分别进行加、减、乘、混合运算。定义子函数voidxiao()用于成绩在80-100之间时生成两个笑脸,子函数voidwu()用于成绩在60-80之间时生成两个表情,子函数voidku()用于成绩少于60时生成两个哭脸。上述三个子函数的使用目的在于使软件在使用时增加使用者的兴趣。[流程图],开始循环题数次[程序代码],#includestdio.h#includetime.h菜单选择输出,输入numSwitch语句选择操作进入加法运算进入减法运算进入乘法运算进入混合运算结束程序选择难度输入题目量K1,k2,k3,k4输出题目输入答案判断答案正确正确个数++错误程序结束输出正确题数和分数判断是否结束程序是否#includemath.h#includestdlib.hintstyle();voidxiao();voidwu();voidku();voidjia();voidjian();voidcheng();voidhun();voidmain(){for(;;){switch(style()){case1:jia();break;case2:jian();break;case3:cheng();break;case4:hun();break;case5:printf(欢迎再次使用,再见\n);exit(0);}}}voidxiao(){intx1,x2;chardiamond1[][30]={{'','','*','','','','','','','','*','','','','','','','','','*','','','','','','','','*','',''},{'*','','','','*','','','','*','','','','*','','','','','*','','','','*','','','','*','','','','*'},{'','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''},{'','','','','*','','','','*','','','','','','','','','','','','','*','','','','*','','','',''},{'','','','','','','*','','','','','','','','','','','','','','','','','*','','','','','',''}};for(x1=0;x15;x1++){for(x2=0;x230;x2++)printf(%c,diamond1[x1][x2]);printf(\n);}}voidwu(){intg1,g2;chardiamond2[][30]={{'','','*','','','','','','','','*','','','','','','','','','*','','','','','','','','*','',''},{'*','','','','*','','','','*','','','','*','','','','','*','','','','*','','','','*','','','','*'},{'','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''},{'','*','','*','','','','','','*','','*','','','','','','','*','','*','','','','','','*','','*',''}};for(g1=0;g14;g1++)printf(%c,diamond2[g1][g2]);printf(\n);}voidku(){intr1,r2;chardiamond3[][18]={{'*','*','','','','*','*','','','','','*','*','','','','*','*'},{'','','','','','','','','','','','','','','','','',''},{'','','','*','','','','','','','','','','','*','','',''},{'','*','','','','*','','','','','','','*','','','','*',''}};for(r1=0;r14;r1++){for(r2=0;r218;r2++)printf(%c,diamond3[r1][r2]);printf(\n);}}intstyle(){intnum;printf(\n);printf(-*-*-*-*-*目录-*-*-*-*-*-\n);printf(选择加法题请按1\n);printf(选择减法题请按2\n);printf(选择乘法题请按3\n);printf(选择混合题请按4\n);printf(选择退出请按5\n);printf(-*-*-*-*-*-*-*-*-*-*-*-*-\n);printf(-*-*-请选择测试题类型,输入数字:);scanf(%d,&num);if(num0&&num6)return(num);elseprintf(-*-*-输入错误,请重新输入!\n);}voidjia(){inta1,b1,ans1,zhen1,i1,k1,m1,n1,he;intq1;printf(\n);printf(-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-);printf(\n);printf(1.简单2.适中3.复杂请选择题目的难易程度:);scanf(%d,&n1);for(;;){intright1=0,score1=0;m1=(int)(pow(10,n1));printf(请输入你想做的题目数量:);scanf(%d,&k1);printf(\n);printf(-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-);printf(\n);for(i1=0;i1k1;i1++){srand(time(0));a1=rand()%m1;b1=rand()%m1;if(a1%3==0){zhen1=a1+b1;printf(%d.%d+%d=()你的答案是:,i1+1,a1,b1);}if(a1%3==1){he=a1+b1;zhen1=a1;printf(%d.()+%d=%d你的答案是:,i1+1,b1,he);}if(a1%3==2){he=a1+b1;zhen1=b1;printf(%d.%d+()=%d你的答案是:,i1+1,a1,he);}scanf(%d,&ans1);if(ans1==zhen1){printf(恭喜你,回答正确!\n);right1++;}elseprintf(很遗憾,回答错误!正确答案是%d,别灰心,继续努力!\n,zhen1);printf(-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-);printf(\n);}score1=(100*right1)/k1;printf(你答对了%d道题!\n,right1);if(score1=80&&score1=100){printf(你考了%d分,很不错,再接再厉哟!\n,score1);xiao();n1++;if(n1==4)break;else{printf(你想挑战更高难度的题目吗?是请按1,不是请按2:);scanf(%d,&q1);if(q1==2)break;}}if(score1=60&&score180){printf(你考了%d分,还不错,但不是特别理想,继续努力!\n,score1);wu();if(n1=3){printf(你想再来几题吗?是请按1,不是请按2:);scanf(%d,&q1);if(q1==2)break;}else{printf(你想挑战更高难度吗?是请按1,不是请按2:);scanf(%d,&q1);if(q1==1)n1++;elsebreak;}}if(score160){printf(你只考了%d分,成绩不理想,别灰心,继续努力!\n,score1);ku();if(n1!=3){printf(你想再来几题吗?是请按1,不是请按2:);scanf(%d,&q1);if(q1==2)break;}}}}voidjian(){inta2,b2,ans2,zhen2,i2,k2,m2,n2,cha;intq2;printf(\n);printf(-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-);printf(\n);printf(1.简单2.适中3.复杂请选择题目的难易程度:);scanf(%d,&n2);for(;;){intright2=0,score2=0;m2=(int)(pow(10,n2));printf(请输入你想做的题目数量:);scanf(%d,&k2);printf(\n);printf(-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-);printf(\n);for(i2=0;i2k2;i2++){srand(time(0));a2=rand()%m2;b2=rand()%m2;if(a2%3==0){zhen2=a2-b2;printf(%d.%d-%d=()你的答案是:,i2+1,a2,b2);}if(a2%3==1){cha=a2-b2;zhen2=a2;printf(%d.()-%d=%d你的答案是:,i2+1,b2,cha);}if(a2%3==2){cha=a2-b2;zhen2=b2;printf(%d.%d-()=%d你的答案是:,i2+1,a2,cha);}scanf(%d,&ans2);if(ans2==zhen2){printf(恭喜你,回答正确!\n);right2++;}elseprintf(很遗憾,回答错误!正确答案是%d,别灰心,继续努力!\n,zhen2);printf(-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-);printf(\n);}score2=(100*right2)/k2;printf(你答对了%d道题!\n,right2);if(score2=80&&score2=100){printf

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功