C语言课程设计设计期限2013 年 6 月17 开始|至2013 年 6 月20 结束系别信息管理与信息系统专业班级学生姓名学号指导教师]主要内容有:[问题描述],小学生数学测试软件的编写[基本设计要求],~1) 可选择题型(+,-,*,/);2) 可选择每次答题的个数;3) 随机生成两个数进行运算;4) 每次在输入答案后应判断对错,若答案错误,应给出正确答案;5) 给出统计结果。
注:根据课程设计的基本要求,针对几点进行了改进,大体改进如下,具体改进详见程序。
1)可选择类型有加、减、乘、混合运算;2)可选择每次答题的个数;3)》4)随机生成两个或三个数进行运算;5)每次在输入答案后应判断对错,若答案错误,应给出正确答案;6)给出统计结果,包括正确的个数和分数;7)根据分数的情况给出不同的建议[系统分析],程序中包括头文件#include<>、#include<>、#include<>、#include<>包函的函数。
定义子函数int style()来选择测试类型,定义子函数void jia(),void jian(),void cheng(),void hun()分别进行加、减、乘、混合运算。
定义子函数void xiao()用于成绩在80-100之间时生成两个笑脸,子函数void wu()用于成绩在60-80之间时生成两个表情,子函数void ku()用于成绩少于60时生成两个哭脸。
上述三个子函数的使用目的在于使软件在使用时增加使用者的兴趣。
《·[流程图] ,#include<>int style();void xiao();void wu();void ku();void jia();void jian();、void cheng();void hun();void main(){for( ; ; ){switch(style()){)case 1:jia();break;case 2:jian();break;case 3:cheng();;break;case 4:hun();break;case 5:printf("欢迎再次使用,再见\n");exit(0);}$}}void xiao(){int x1,x2;char diamond1[][30]={{' ',' ','*',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ','*',' ',' '},{'*',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ','*'},{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},({' ',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ',' '},{' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' '}};for(x1=0;x1<5;x1++){for(x2=0;x2<30;x2++)printf("%c",diamond1[x1][x2]);printf("\n");}¥}void wu(){int g1,g2;char diamond2[][30]={{' ',' ','*',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ','*',' ',' '},{'*',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ','*',' ',' ',' ','*'},{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},{' ','*',' ','*',' ',' ',' ',' ',' ','*',' ','*',' ',' ',' ',' ',' ',' ','*',' ','*',' ',' ',' ',' ',' ','*',' ','*',' '}};—for(g1=0;g1<4;g1++)printf("%c",diamond2[g1][g2]);printf("\n");}void ku(){int r1,r2;char diamond3[][18]={{'*','*',' ',' ',' ','*','*',' ',' ',' ',' ','*','*',' ',' ',' ','*','*'},、{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},{' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' '},{' ','*',' ',' ',' ','*',' ',' ',' ',' ',' ',' ','*',' ',' ',' ','*',' '}};for(r1=0;r1<4;r1++){for(r2=0;r2<18;r2++)printf("%c",diamond3[r1][r2]);printf("\n");}—}int style(){int num;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(num>0&&num<6)return(num);[elseprintf(" -*-*-输入错误,请重新输入!\n");}void jia(){int a1,b1,ans1,zhen1,i1,k1,m1,n1,he;int q1;printf("\n");¥printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");printf("\n");printf("1.简单2.适中3.复杂请选择题目的难易程度:");scanf("%d",&n1);for( ; ; ){int right1=0,score1=0;m1=(int)(pow(10,n1));¥printf("请输入你想做的题目数量:");scanf("%d",&k1);printf("\n");printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");printf("\n");for(i1=0;i1<k1;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&&score1<80)|{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(score1<60){printf("你只考了%d分,成绩不理想,别灰心,继续努力!\n",score1);ku();…if(n1!=3){printf("你想再来几题吗是请按1,不是请按2:");scanf("%d",&q1);if(q1==2)break;}}$}}void jian(){int a2,b2,ans2,zhen2,i2,k2,m2,n2,cha;int q2;printf("\n");printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");—printf("\n");printf("1.简单2.适中3.复杂请选择题目的难易程度:");scanf("%d",&n2);for( ; ; ){int right2=0,score2=0;m2=(int)(pow(10,n2));printf("请输入你想做的题目数量:");·scanf("%d",&k2);printf("\n");printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");printf("\n");for(i2=0;i2<k2;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("你考了%d分,很不错,再接再厉哟!\n",score2);xiao();n2++;if(n2==4)break;else{。