C语言课程设计小学生数学测试软件.docx
《C语言课程设计小学生数学测试软件.docx》由会员分享,可在线阅读,更多相关《C语言课程设计小学生数学测试软件.docx(10页珍藏版)》请在冰豆网上搜索。
C语言课程设计小学生数学测试软件
《C语言课程设计报告》
标题:
小学生数学测试软件
学号:
姓名:
同组人员:
年级专业:
09电子信息工程
指导老师:
完成日期:
2010/6/20
一、程序的具体分工
二、课题要求
三、课题分析与设计
四、选题背景
五、程序介绍
六、源程序代码与调试
七、流程图
八、结语
九、参考书目
一、程序的具体分工
第一部分包括主函数是由杨威完成,第二部分add函数,sub函数,mul函数的被调函数由我(钟雪冬)完成。
二、课题要求
1)可选择题型(+,-,×);
2)两个数随机产生,若选择加减运算,则产生两位数,且被减数大于减数,若选择乘法运算,则产生一位数;
3)每次在输入答案后应判断对错,若答案错误,应给出正确答案;
4)最后给出评分。
三、课题分析与设计
小学生数学测试软件是通过switch函数对add,sub,mul函数进行函数调用,进行各自的函数功能,其中由rand()函数产生随机数。
四、选题背景
C语言是目前世界上流行、使用最广泛的高级程序设计语言。
1972年,C语言在美国贝尔实验室里问世,后来又被多次改进,并出现了多种版本。
80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSIC标准。
目前,在微机上广泛使用的C语言编译系统有MicrosoftC、TurboC、VisualC++等,这些C语言版本不仅实现了ANSIC标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。
C语言是一种结构化语言。
它层次清晰,便于按模块化方式组织程序,易于调试和维护。
C语言的表现能力和处理能力极强。
它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。
它还可以直接访问内存的物理地址,进行位(bit)一级的操作。
由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。
既可用于系统软件的开发,也适合于应用软件的开发。
此外,C语言还具有效率高,可移植性强等特点。
因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。
为了将本学期所学C语言知识应用于实际,加深对C语言的理解与掌握,我院开设了C语言课程设计这门课程。
而我们小组选取了小学生测试软件这个课题,以此来锻炼我们编写程序的能力。
五、程序介绍
小学生数学测试软件由5个函数组成,包括main主函数,rand()函数,add函数,sub函数,mul函数。
main主函数对add函数,sub函数,mul函数进行调用。
rand()函数产生随机数,其产生的随机数值范围0~65535。
add函数执行加法运算。
sub函数执行减法运算。
mul函数执行乘法运算。
六、源程序代码与调试
代码:
#include
#definerandom(x)(rand()%x)
staticintcount;
voidadd(intk)
{
inti,j,m;
intans;
for(m=1;m<=k;m++)
{
i=random(100);
j=random(100);
printf("NO.%d:
\n",m);
printf("%d+%d=",i,j);
scanf("%d",&ans);
if(ans==(i+j))
{
count++;
printf("congratulate!
\n");
}
else
printf("Sorry!
youarewrong!
Theansweris:
%d\n",i+j);
}
}
voidsub(intk)
{
inti,j,m;
intans;
for(m=1;m<=k;m++)
{
i=random(100);
j=random(100);
if(ielse
{
printf("NO.%d:
\n",m);
printf("%d-%d=",i,j);
scanf("%d",&ans);
if(ans==(i-j))
{
count++;
printf("congratulate!
\n");
}
else
printf("Sorry!
youarewrong!
Theansweris:
%d\n",i-j);
}
}
}
voidmul(intk)
{
inti,j,m;
intans;
for(m=1;m<=k;m++)
{
i=random(10);
j=random(10);
printf("NO.%d:
\n",m);
printf("%d*%d=",i,j);
scanf("%d",&ans);
if(ans==(i*j))
{
count++;
printf("congratulate!
\n");
}
else
printf("Sorry!
youarewrong!
Theansweris:
%d\n",i*j);
}
}
voidmain()
{
inti,k;
printf("Input1,Chooseadditionproblems\n");
printf("Input2,Choosesubtractionproblems\n");
printf("Input3,Choosemultiplicationproblems\n");
printf("Inputyouroptions:
");
scanf("%d",&k);
printf("\n");
printf("Enterthenumberofquestionstoanswer:
");
scanf("%d",&i);
switch(k)
{
case1:
add(i);break;
case2:
sub(i);break;
case3:
mul(i);break;
default:
printf("\nInputerrors!
");break;
}
printf("Youanswerquestionsis:
%d\n",count);
printf("Yourfinalscoreis:
%.2f\n",(float)count/i*100);
}
调试:
1菜单函数执行结果:
进入程序后进入程序主菜单
结果如下:
输入1进入add函数,输入2进入sub函数,输入3进入mul函数.
2add(加法)函数结果:
3sub(减法)函数结果:
4mul(乘法)函数结果:
5成绩的最后评定:
七、流程图
八、结语
通过这次课程设计,我和杨威同学经过共同努力,完成了《小学生数学测试软件》这一课程设计,在这过程中也加深了对课本的认识和了解。
同时,我们也会去查资料,学会了我对很多的函数有了新的认识,也学会了运用多种函数,我也明白了写软件的基本过程和基本方法。
写软件的过程中我又学到了曾经自己不知道的函数或是自己不会的函数的用法。
这次课程设计课总的来说让我受益匪浅。
在软件的设计过程中遇到了很多的困难,我们也学会了在困难中解决问题。
这次的程序设计过程中,我们受益匪浅,也让我们体会到了失败时的焦急和难受,成功时的兴奋与喜悦。
同时我们小组成员互帮互助,让我认识到团队的力量,团结就是力量。
九、参考书目
[1]谭浩强,C程序设计教程,清华大学出版社,2007年
[2]赵永哲,李雄飞,戴秀英编著,《C语言程序设计》,科学出版社,2003年
[3]夏宽理,赵子正编著,《C语言程序设计》,中国铁道出版社,2006年
[4]谭浩强编著,《C程序设计》,清华大学出版社,1991年
[5]GaryJ.Bronson,AFirstBookofANSIC(FourthEdition),PublishingHouseofElectronicsIndustry,2006.
[6]AlKelley,IraPohl,ABookonC:
ProgramminginC(FourthEdition),ChinaMachinePress,2004.
[7]BrianW.Kernighan,DennisM.Ritchie,TheCProgrammingLanguage,ChinaMachinePress,2006.
物理与电子信息学院课程设计评定意见
指导教师评语
主要内容包括:
设计报告内容的完整性和完成情况、报告格式的规范性、通过课程设计取得的收获等。
成绩:
签名:
年 月 日
注:
本页与上一页用A3纸套印成封面和封底,课程设计报告正文用A4纸打印然后装订