700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 小学生算术加法测试c 语言 程序设计方法学课程设计--小学生算术四则运算测试程序(C)...

小学生算术加法测试c 语言 程序设计方法学课程设计--小学生算术四则运算测试程序(C)...

时间:2020-04-27 13:31:45

相关推荐

小学生算术加法测试c 语言 程序设计方法学课程设计--小学生算术四则运算测试程序(C)...

背景

伴随着人类社会的进步,人们的计算工具也在不断的变化,从远古时期的结绳计数,到算筹,算盘,以及近代的机械计算机、计算尺,直至今天我们广泛运用的电子计算机。计算工具的每一次进步,都导致科学技术发生深刻的革命。

人类最初是用手指来作为记数和计算工具的。在古代,人们还广泛地使用过筹码和结绳来作为记数和计算的工具,其中筹码可能采用石子、木棍、滑片等,每一个可以单独使用也可用工具在其刻上道使用。我们中华民族的祖先,在公元前5世纪以前开始使用算筹。利用算筹记数,用笔写下来就是筹算数字,当时这在世界上是十分先进的。而作为我们的祖先对世界文明的重大贡献——四大发明之一的珠算盘,则是人类经过设计加工,制造出来的第一种计算工具。十六世纪以来,随着机械设计和制造水平的提高,同时也为了满足日益复杂的计算要求,许多科学家设计制造了以齿轮为主要构件的机械式计算机。自从上个世纪四十年代电子计算机的发明,人类计算工具的发展进入了一个新纪元。计算机以人类技术史上前所未有的高速度发展着,其主要构件由电子管、晶体管、集成电路,一直发展到运用超大规模集成电路。计算机的计算速度也从每秒几千次算术计算,提高到每秒上万亿次算术计算。

摘要

小学生四则运算,是利用VC++软件编写的一程序,电脑可随机的出10道四则运算题,每题十分。答题者输入需要运算的数,其中要求算式面向小学1~2年纪,数的大小不超过50且运算的结果必须在0~50之间,答题者有三次答题机会,在这三次机会之内答出,系统会自动根据答案的正确与否,得出分数,按照相应的分数给出级别,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRYAGAIN”

功能要求

题目:小学生算术四则运算测试程序

面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。

功能要求:

(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;

(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;

(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;

(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;

(5)总成绩90以上显示“SMART”80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRYAGAIN”

程序流程

打开VisualC++软件,输入编写的程序,程序无误后,系统会自动生成10道题。输入数字,结果会根据程序设计者编写的程序自动算出。若输入的数超过50或输入数之后结果超过50或是负数的。系统将会显示“结果不正确,你还有j次机会,加油”(1<=j<3)。若次数超过3次,依然还没输对,结果“失败”,程序结束。若在这之内,系统会自动根据你做的题的正确与否给出相应成绩。

程序执行

1.打开VisualC++软件,执行“File—>new”。

2.输入程序

#include

structstruc{inta;

intb;

intc;

intadd;

intgrade;

};

intsj(intn)

{intt;

t=rand()%n;

returnt;

}

voidctm_i(structstruc*t)

{t->a=sj(51);

t->c=sj(2);

if(t->c==1){t->b=sj(51-(t->a));

t->add=(t->a)+(t->b);}

else{t->b=sj((t->a)+1);

t->add=(t->a)-(t->b);}

t->grade=10;

}

voidtcm_i(structstruc*t,intn)

{intad;

printf("********************************************************************************\n");

printf("................................................................................\n");

printf("现在进行第%d题\n\n",n+1);

printf("本题你总共有三次机会\n\n");

if(t->c==1)printf("%d+%d=",t->a,t->b);

elseprintf("%d-%d=",t->a,t->b);

scanf("%d",&ad);

if(ad==t->add)

{t->grade=10;

printf("很好,本题得10分\n\n");

}

else{printf("结果不正确,你还有两次机会,加油\n\n");

scanf("%d",&ad);

if(ad==t->add)

{t->grade=7;

printf("不错,本题得7分\n\n");

}

else{printf("结果不正确,你还有一次机会,加油\n\n");

scanf("%d",&ad);

if(ad==t->add)

{t->grade=5;

printf("还行,本题得5分\n\n");

}

else{t->grade=0;

printf("失败,本题得0分\n\n");

printf("正确结果是%d\n\n",t->add);

}

}

}

printf("................................................................................\n");

printf("********************************************************************************\n");

}

voidmain()

{inti,j,g=0;

charx;

structstructest[10];

srand((unsigned)time(NULL));

printf("********************************************************************************\n");

printf("................................................................................\n");

printf("***********************欢迎进入小学生算术四则运算测试程序***********************\n\n");

printf("...本程序是面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答....\n");

printf("功能说明:\n");

printf("(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;\n");

printf("(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;\n");

printf("(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;\n");

printf("(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;\n");

printf("(5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRYAGAIN“。\n");

printf("................................................................................\n");

printf("********************************************************************************\n");

for(i=0;i<=9;i++)

{ctm_i(&test[i]);

for(j=0;j

if(test[i].a==test[j].a&&test[i].b==test[j].b&&test[i].c==test[j].c)

ctm_i(&test[i]);

}

printf("准备好了吗?按任意键进入");

scanf("%c",&x);

for(i=1;i<=5;i++)

{printf("********************************************************************************\n");

printf("................................................................................\n");

}

for(i=0;i<=9;i++)

tcm_i(&test[i],i);

printf("测试结束");

for(i=0;i<=9;i++)

g=g+test[i].grade;

if(g>90)printf("SMART");

elseif(g>80)printf("GOOD");

elseif(g>70)printf("OK");

elseprintf("TRYAGAIN");

}

3.Fileàsaveàctrl+s

4.编译程序compile—ctrl+F7

5.建立程序Build—F7

6.运行程序Execute—ctrl+F5

实验结果

进入界面

测试第一题

其余题目测试

最后一题

实验心得

作为一名计科系的学生,程序设计是至关重要的。程序设计报告的结束,意味着程序设计方法学这门课程即将终止,但这并不意味着对程序设计学习的结束。

通过半学期的程序设计方法学的学习,不仅使我们对以前学过的知识有了更进一步的了解和掌握,而且让我们学习到了以往未接触过的一些方面,如:VC++软件的使用、C++程序的编写、不同类型程序的编写形式。

这次的社会实践报告让我们学到了很多东西,让我们能够将课堂上学习到的知识与实践相结合,不再是让我们只死读书,学会将学到的理论知识运用到生活中的具体事情中。而且通过这次的实践报告,我们小组成员之间相互探讨,彼此分工合作,使本来需要很长时间才能完成的工作很快就被完成,这让我们深刻意识到团队合作的重要性,团结的重要性。

程序和实践报告虽然都完成了,但不可避免的还存在一些不好之处。所以,我们仍旧还会继续努力,掌握更多的知识,学习永无止境。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。