1、二、课题要求1) 可选择题型(,);2) 两个数随机产生,若选择加减运算,则产生两位数,且被减数大于减数,若选择乘法运算,则产生一位数;3) 每次在输入答案后应判断对错,若答案错误,应给出正确答案;4) 最后给出评分。小学生数学测试软件是通过switch函数对add,sub,mul函数进行函数调用,进行各自的函数功能,其中由rand()函数产生随机数。C语言是目前世界上流行、使用最广泛的高级程序设计语言。1972年,C语言在美国贝尔实验室里问世,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSIC标准。
2、目前,在微机上广泛使用的C语言编译系统有MicrosoftC、Turbo C 、Visual C+等,这些C语言版本不仅实现了ANSIC标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。 C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此
3、广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。为了将本学期所学C语言知识应用于实际,加深对C语言的理解与掌握,我院开设了C语言课程设计这门课程。而我们小组选取了小学生测试软件这个课题,以此来锻炼我们编写程序的能力。小学生数学测试软件由5个函数组成,包括main主函数,rand()函数,add函数,sub函数,mul函数,divl函数。 main主函数对add函数,sub函数,mul函数进行调用。rand()函数产生随机数,其产生的随机数值范围065535。add函数执行加法运算。sub函数执行减法运算。mul函数执行乘法运算。代码:#includestring.hwindows.
4、htime.hstdlib.h#define LEN sizeof(struct student)struct studentint num; char name50; int score; double zhengquelv; struct student *next;int no=0;double zong=0;int defeng()int i,yes=0,jia,jian,chen,chu,a,b,c; printf( 数学测试系统 n); 请在类型后输入选择完成的题目个数:n加法: scanf(%d,&jia);减法:jian);乘法:chen);除法:chu);注意:除法保留整数n
5、 zong=jia+jian+chen+chu; for(i=1;i=jia;i+) /加法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100;%d+%d= ,a,b); scanf(c); if(c=a+b) yes+;truen else no+;printf(wrong %dn,a+b); =jian;i+) /减法 while(anext;i=i-next) for(j=i-j-j=j- if(i-numnum) h.num=i-num; i-num=j- j-num=h.num; strcpy(h.name,i-name);
6、strcpy(i-name,j- strcpy(j-name,h.name); h.score=i-score;score=j-score=h.score; h.zhengquelv=i-zhengquelv;zhengquelv=j-zhengquelv=h.zhengquelv; main() FILE *file; struct student *p1,*p2,*head; char a=学号 姓名 成绩 正确率n; if(file=fopen(C:UsersuserDesktop学生成绩表.txt,r+)=NULL) /打开文件打开文件失败 exit(0); p1=p2=(struct
7、 student*)malloc(LEN); /创建链表 head=p1;请输入学号: scanf(p1-num); while(p1-num) printf(请输入学生姓名:%s,p1- p1-score=defeng(); p1-zhengquelv=p1-score/zong*100;score=p1-zhengquelv/100*160; p1=(struct student *) malloc(LEN); p2-next=p1; p2=p1;n题目完成n Sleep(500); system(cls请输入学号(输入零结束):next=NULL;成绩批改完毕n Sleep(1000);
8、排序中n paixu(head);排序完成n fclose(file);w+)=NULL) fputs(a,file); /写入文件puts(a);while(head-next) fprintf(file,%d %-6s %d %.2fn,head-num,head-name,head-score,head-zhengquelv); head=head-调试:1菜单函数执行结果:进入程序后进入程序主菜单错误时的程序结果通过这次课程设计,经过共同努力,完成了小学生数学测试软件这一课程设计,在这过程中也加深了对课本的认识和了解。同时,我们也会去查资料,学会了我对很多的函数有了新的认识,也学会了运
9、用多种函数,我也明白了写软件的基本过程和基本方法。写软件的过程中我又学到了曾经自己不知道的函数或是自己不会的函数的用法。这次课程设计课总的来说让我受益匪浅。在软件的设计过程中遇到了很多的困难,我们也学会了在困难中解决问题。这次的程序设计过程中,我们受益匪浅,也让我们体会到了失败时的焦急和难受,成功时的兴奋与喜悦。同时我也知道了专业课的重要性。1谭浩强,C程序设计教程,清华大学出版社,2007年2赵永哲,李雄飞,戴秀英编著,C语言程序设计,科学出版社,2003年3夏宽理,赵子正编著,C语言程序设计,中国铁道出版社,2006年4谭浩强编著,C程序设计,清华大学出版社,1991年5Gary J. B
10、ronson, A First Book of ANSI C (Fourth Edition), Publishing House of Electronics Industry, 2006.6Al Kelley, Ira Pohl, A Book on C: Programming in C (Fourth Edition), China Machine Press, 2004.7Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, China Machine Press, 2006.计算机工程学院课程设计评定意见指导教师评语成绩: 签名: 年 月 日
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2