小学生数学测试软件C语言课程设计.docx
- 文档编号:7015054
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:30
- 大小:307.01KB
小学生数学测试软件C语言课程设计.docx
《小学生数学测试软件C语言课程设计.docx》由会员分享,可在线阅读,更多相关《小学生数学测试软件C语言课程设计.docx(30页珍藏版)》请在冰豆网上搜索。
小学生数学测试软件C语言课程设计
C语言课程设计
设计期限2013年6月17开始
至2013年6月20结束
系别信息管理与信息系统
专业班级
学生姓名学号
指导教师
主要内容有:
[问题描述]
,
小学生数学测试软件的编写
[基本设计要求],
1)可选择题型(+,-,*,/);
2)可选择每次答题的个数;
3)随机生成两个数进行运算;
4)每次在输入答案后应判断对错,若答案错误,应给出正确答案;
5)给出统计结果。
注:
根据课程设计的基本要求,针对几点进行了改进,大体改进如下,具体改进详见程序。
1)可选择类型有加、减、乘、混合运算;
2)可选择每次答题的个数;
3)随机生成两个或三个数进行运算;
4)每次在输入答案后应判断对错,若答案错误,应给出正确答案;
5)给出统计结果,包括正确的个数和分数;
6)根据分数的情况给出不同的建议
[系统分析],
程序中包括头文件#include
定义子函数intstyle()来选择测试类型,定义子函数voidjia(),voidjian(),voidcheng(),voidhun()分别进行加、减、乘、混合运算。
定义子函数voidxiao()用于成绩在80-100之间时生成两个笑脸,子函数voidwu()用于成绩在60-80之间时生成两个表情,子函数voidku()用于成绩少于60时生成两个哭脸。
上述三个子函数的使用目的在于使软件在使用时增加使用者的兴趣。
[流程图],
开始
循环题数次
[程序代码],
#include
#include
#include
#include
intstyle();
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;x1<5;x1++)
{
for(x2=0;x2<30;x2++)
printf("%c",diamond1[x1][x2]);
printf("\n");
}
}
voidwu()
{
intg1,g2;
chardiamond2[][30]={{'','','*','','','','','','','','*','','','','','','','','','*','','','','','','','','*','',''},
{'*','','','','*','','','','*','','','','*','','','','','*','','','','*','','','','*','','','','*'},
{'','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''},
{'','*','','*','','','','','','*','','*','','','','','','','*','','*','','','','','','*','','*',''}};
for(g1=0;g1<4;g1++)
printf("%c",diamond2[g1][g2]);
printf("\n");
}
voidku()
{
intr1,r2;
chardiamond3[][18]={{'*','*','','','','*','*','','','','','*','*','','','','*','*'},
{'','','','','','','','','','','','','','','','','',''},{'','','','*','','','','','','','','','','','*','','',''},
{'','*','','','','*','','','','','','','*','','','','*',''}};
for(r1=0;r1<4;r1++)
{
for(r2=0;r2<18;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(num>0&&num<6)
return(num);
else
printf("-*-*-输入错误,请重新输入!
\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;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++; } else printf("很遗憾,回答错误! 正确答案是%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++; else break; } } if(score1<60) { 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;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++; } else printf("很遗憾,回答错误! 正确答案是%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 { printf("你想挑战更高难度的题目吗? 是请按1,不是请按2: "); scanf("%d",&q2); if(q2==2) break; } } if(score2>=60&&score2<80) { printf("你考了%d分,还不错,但不是特别理想,继续努力! \n",score2); wu(); if(n2=3) { printf("你想再来几题吗? 是请按1,不是请按2: "); scanf("%d",&q2); if(q2==2) break; } else { printf("你想挑战更高难度吗? 是请按1,不是请按2: "); scanf("%d",&q2); if(q2==1) n2++; else break; } } if(score2<60) { printf("你只考了%d分,成绩不理想,别灰心,继续努力! \n",score2); ku(); if(n2! =3) { printf("你想再来几题吗? 是请按1,不是请按2: "); scanf("%d",&q2); if(q2==2) break; } } } } voidcheng() { inta3,b3,ans3,zhen3,i3,k3,m3,n3,ji; intq3; printf("\n"); printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"); printf("\n"); printf("1.简单2.适中3.复杂请选择题目的难易程度: "); scanf("%d",&n3); for(;;) { intright3=0,score3=0; m3=(int)(pow(10,n3)); printf("请输入你想做的题目数量: "); scanf("%d",&k3); printf("\n"); printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"); printf("\n"); for(i3=0;i3 { srand(time(0)); a3=rand()%m3; b3=rand()%m3; if(a3%3==0) { zhen3=a3*b3; printf("%d.%d*%d=()你的答案是: ",i3+1,a3,b3); } if(a3%3==1) { ji=a3*b3; zhen3=a3; printf("%d.()*%d=%d你的答案是: ",i3+1,b3,ji); } if(a3%3==2) { ji=a3*b3; zhen3=b3; printf("%d.%d*()=%d你的答案是: ",i3+1,a3,ji); } scanf("%d",&ans3); if(ans3==zhen3) { printf("恭喜你,回答正确! \n"); right3++; } else printf("很遗憾,回答错误! 正确答案是%d,别灰心,继续努力! \n",zhen3); printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"); printf("\n"); } score3=(100*right3)/k3; printf("你答对了%d道题! \n",right3); if(score3>=80&&score3<=100) { printf("你考了%d分,很不错,再接再厉哟! \n",score3); xiao(); n3++; if(n3==4) break; else { printf("你想挑战更高难度的题目吗? 是请按1,不是请按2: "); scanf("%d",&q3); if(q3==2) break; } } if(score3>=60&&score3<80) { printf("你考了%d分,还不错,但不是特别理想,继续努力! \n",score3); wu(); if(n3=3) { printf("你想再来几题吗? 是请按1,不是请按2: "); scanf("%d",&q3); if(q3==2) break; } else { printf("你想挑战更高难度吗? 是请按1,不是请按2: "); scanf("%d",&q3); if(q3==1) n3++; else break; } } if(score3<60) { printf("你只考了%d分,成绩不理想,别灰心,继续努力! \n",score3); ku(); if(n3! =3) { printf("你想再来几题吗? 是请按1,不是请按2: "); scanf("%d",&q3); if(q3==2) break; } } } } voidhun() { inta4,b4,c4,ans4,zhen4,i4,k4,m4,n4,guo; intq4; printf("\n"); printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"); printf("\n"); printf("1.简单2.适中3.复杂请选择题目的难易程度: "); scanf("%d",&n4); for(;;) { intright4=0,score4=0; m4=(int)(pow(10,n4)); printf("请输入你想做的题目数量: "); scanf("%d",&k4); printf("\n"); printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"); printf("\n"); for(i4=0;i4 { srand(time(0)); a4=rand()%m4; b4=rand()%m4; c4=rand()%m4; if(a4%16==0) { zhen4=a4+b4+c4; printf("%d.%d+%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小学生 数学 测试 软件 语言 课程设计