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

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

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);

[

else

printf(" -*-*-输入错误,请重新输入!\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

{

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;

}

}

$

}

}

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

{

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;

}

}

}

"

}

void cheng()

{

int a3,b3,ans3,zhen3,i3,k3,m3,n3,ji;

int q3;

printf("\n");

printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");

printf("\n");

&

printf("1.简单2.适中3.复杂请选择题目的难易程度:");

scanf("%d",&n3);

for( ; ; )

{

int right3=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;

}

}

}

}

;

void hun()

{

int a4,b4,c4,ans4,zhen4,i4,k4,m4,n4,guo;

int q4;

printf("\n");

printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");

printf("\n");

printf("1.简单2.适中3.复杂请选择题目的难易程度:");

.

scanf("%d",&n4);

for( ; ; )

{

int right4=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+%d+%d=() 你的答案是:",i4+1,a4,b4,c4);

}

if(a4%16==1)

{

guo=a4+b4+c4;

~

zhen4=a4;

printf(" %d. ()+%d+%d=%d 你的答案是:",i4+1,b4,c4,guo);

}

if(a4%16==2)

{

guo=a4+b4+c4;

zhen4=b4;

printf(" %d. %d+()+%d=%d 你的答案是:",i4+1,a4,c4,guo);)

}

if(a4%16==3)

{

guo=a4+b4+c4;

zhen4=c4;

printf(" %d. %d+%d+()=%d 你的答案是:",i4+1,a4,b4,guo);

}

if(a4%16==4)

>

{

zhen4=a4+b4-c4;

printf(" %d. %d+%d-%d=() 你的答案是:",i4+1,a4,b4,c4);

}

if(a4%16==5)

{

guo=a4+b4-c4;

zhen4=a4;

~

printf(" %d. ()+%d-%d=%d 你的答案是:",i4+1,b4,c4,guo);

}

if(a4%16==6)

{

guo=a4+b4+c4;

zhen4=b4;

printf(" %d. %d-()+%d=%d 你的答案是:",i4+1,a4,c4,guo);

}

·

if(a4%16==7)

{

guo=a4+b4+c4;

zhen4=c4;

printf(" %d. %d+%d-()=%d 你的答案是:",i4+1,a4,b4,guo);

}

if(a4%16==8)

{

[

zhen4=a4*b4+c4;

printf(" %d. %d*%d+%d=() 你的答案是:",i4+1,a4,b4,c4);

}

if(a4%16==9)

{

guo=a4*b4+c4;

zhen4=a4;

printf(" %d. ()*%d+%d=%d 你的答案是:",i4+1,b4,c4,guo);(

}

if(a4%16==10)

{

guo=a4*b4+c4;

zhen4=b4;

printf(" %d. %d*()+%d=%d 你的答案是:",i4+1,a4,c4,guo);

}

if(a4%16==11)

)

{

guo=a4*b4+c4;

zhen4=c4;

printf(" %d. %d*%d+()=%d 你的答案是:",i4+1,a4,b4,guo);

}

if(a4%16==12)

{

zhen4=a4*b4-c4;

printf(" %d. %d*%d-%d=() 你的答案是:",i4+1,a4,b4,c4);

}

if(a4%16==13)

{

guo=a4*b4-c4;

zhen4=a4;

printf(" %d. ()*%d-%d=%d 你的答案是:",i4+1,b4,c4,guo);

}

$

if(a4%16==14)

{

guo=a4*b4-c4;

zhen4=b4;

printf(" %d. %d*()-%d=%d 你的答案是:",i4+1,a4,c4,guo);

}

if(a4%16==15)

{

guo=a4*b4+c4;

zhen4=c4;

printf(" %d. %d*%d-()=%d 你的答案是:",i4+1,a4,b4,guo);

}

scanf("%d",&ans4);

if(ans4==zhen4)

{

printf("恭喜你,回答正确!\n");

right4++;

}

else

printf("很遗憾,回答错误!正确答案是%d,别灰心,继续努力!\n",zhen4);

printf("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-");

printf("\n");

}

score4=(100*right4)/k4;

printf("你答对了%d道题!\n",right4);

if (score4>=80&&score4<=100)

{

printf("你考了%d分,很不错,再接再厉哟!\n",score4);

xiao();

n4++;

if(n4==4)

break;

~

else

{

printf("你想挑战更高难度的题目吗是请按1,不是请按2:");

scanf("%d",&q4);

if(q4==2)

break;

}

}

if(score4>=60&&score4<80)

{

printf("你考了%d分,还不错,但不是特别理想,继续努力!\n",score4);

wu();

if(n4=3)

{

printf("你想再来几题吗是请按1,不是请按2:");

scanf("%d",&q4);

if(q4==2)

break;

}

else

{

printf("你想挑战更高难度吗是请按1,不是请按2:");

scanf("%d",&q4);

if(q4==1)

n4++;

else

break;

}

}

if(score4<60)

{

printf("你只考了%d分,成绩不理想,别灰心,继续努力!

\n",score4);

ku();

if(n4!=3)

{

printf("你想再来几题吗是请按1,不是请按2:");

scanf("%d",&q4);

if(q4==2)

break;

}

}

}

}

[测试数据],

一、软件界面

图一:选择测试类型

图二:选择难易程度

图三:选择题目数量

二、答题界面

图一:给出题目,写出答案,选择加法

相关主题
相关文档
最新文档