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

上传人:b****6 文档编号:7983535 上传时间:2023-01-27 格式:DOCX 页数:30 大小:260.92KB
下载 相关 举报
小学生数学测试软件C语言课程设计.docx_第1页
第1页 / 共30页
小学生数学测试软件C语言课程设计.docx_第2页
第2页 / 共30页
小学生数学测试软件C语言课程设计.docx_第3页
第3页 / 共30页
小学生数学测试软件C语言课程设计.docx_第4页
第4页 / 共30页
小学生数学测试软件C语言课程设计.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

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

《小学生数学测试软件C语言课程设计.docx》由会员分享,可在线阅读,更多相关《小学生数学测试软件C语言课程设计.docx(30页珍藏版)》请在冰豆网上搜索。

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

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

 

C语言课程设计

 

设计期限2013年6月17开始

至2013年6月20结束

 

系别信息管理与信息系统

专业班级

学生姓名学号

指导教师

 

主要内容有:

[问题描述]

小学生数学测试软件的编写

[基本设计要求],

1)可选择题型(+,-,*,/);

2)可选择每次答题的个数;

3)随机生成两个数进行运算;

4)每次在输入答案后应判断对错,若答案错误,应给出正确答案;

5)给出统计结果。

注:

根据课程设计的基本要求,针对几点进行了改进,大体改进如下,具体改进详见程序。

1)可选择类型有加、减、乘、混合运算;

2)可选择每次答题的个数;

3)随机生成两个或三个数进行运算;

4)每次在输入答案后应判断对错,若答案错误,应给出正确答案;

5)给出统计结果,包括正确的个数和分数;

6)根据分数的情况给出不同的建议

 

[系统分析],

程序中包括头文件#include、#include、#include、#include包函的函数。

定义子函数intstyle()来选择测试类型,定义子函数voidjia(),voidjian(),voidcheng(),voidhun()分别进行加、减、乘、混合运算。

定义子函数voidxiao()用于成绩在80-100之间时生成两个笑脸,子函数voidwu()用于成绩在60-80之间时生成两个表情,子函数voidku()用于成绩少于60时生成两个哭脸。

上述三个子函数的使用目的在于使软件在使用时增加使用者的兴趣。

 

[流程图],

开始

菜单选择输出,输入num

Switch语句选择操作

进入加法运算

进入减法运算

进入乘法运算

num=1

num=2

num=3

进入混合运算

结束程序

num=4

num=5

 

选择难度

输入题目量

K1,k2,k3,k4

输出题目

输入答案

判断答案

正确

正确个数++

错误

程序结束

输出正确题数和分数

判断是否结束程序

 

循环题数次

 

[程序代码],

#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("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1