ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:147.89KB ,
资源ID:2116733      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2116733.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计 小学生数学测试软件.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

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

1、C语言课程设计 小学生数学测试软件程序设计综合训练设计报告专 业: 软件工程(师范)班 级: 14软件4ZS学 号: 2014144421姓名: 庞佳玲指导教师: 陈明霞成绩: 计算机工程学院 2014年12月一、程序的具体分工二、课题要求 三、课题分析与设计四、选题背景五、程序介绍六、源程序代码与调试七、流程图八、结语九、参考书目一、程序的具体分工 第一部分包括主函数、第二部分add函数,sub函数,mul函数的被调函数由我(庞佳玲)完成。二、课题要求1) 可选择题型(,); 2) 两个数随机产生,若选择加减运算,则产生两位数,且被减数大于减数,若选择乘法运算,则产生一位数; 3) 每次在输

2、入答案后应判断对错,若答案错误,应给出正确答案; 4) 最后给出评分。三、课题分析与设计小学生数学测试软件是通过switch函数对add,sub,mul函数进行函数调用,进行各自的函数功能,其中由rand()函数产生随机数。四、 选题背景C语言是目前世界上流行、使用最广泛的高级程序设计语言。1972年,C语言在美国贝尔实验室里问世,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSIC标准。目前,在微机上广泛使用的C语言编译系统有MicrosoftC、Turbo C 、Visual C+等,这些C语言版本

3、不仅实现了ANSIC标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。 C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。为了将本学期所学C语言知识应用于实际,加深对C语言的理解

4、与掌握,我院开设了C语言课程设计这门课程。而我们小组选取了小学生测试软件这个课题,以此来锻炼我们编写程序的能力。五、程序介绍小学生数学测试软件由5个函数组成,包括main主函数,rand()函数,add函数,sub函数,mul函数,divl函数。 main主函数对add函数,sub函数,mul函数进行调用。rand()函数产生随机数,其产生的随机数值范围065535。add函数执行加法运算。sub函数执行减法运算。mul函数执行乘法运算。六、源程序代码与调试代码:#include#include#include#include#include#define LEN sizeof(struct

5、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); printf( 请在类型后输入选择完成的题目个数:n); printf(加法: );scanf(%d,&jia); printf(减法: );scanf(%d,&jian); printf(乘法: );scanf(%d,&che

6、n); printf(除法: );scanf(%d,&chu); printf(注意:除法保留整数n); zong=jia+jian+chen+chu; for(i=1;i=jia;i+) /加法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; printf(%d+%d= ,a,b); scanf(%d,&c); if(c=a+b) yes+; printf(truen); else no+;printf(wrong %dn,a+b); for(i=1;i=jian;i+) /减法 srand(unsigned)time(NULL)

7、; a=rand()%100; b=rand()%100; while(ab) a=rand()%100; b=rand()%100; printf(%d-%d= ,a,b); scanf(%d,&c); if(c=a-b) yes+; printf(truen); else no+;printf(wrong %dn,a-b); for(i=1;i=chen;i+) /乘法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; printf(%d*%d= ,a,b); scanf(%d,&c); if(c=a*b) yes+; print

8、f(truen); else no+;printf(wrong %dn,a*b); for(i=1;i=chu;i+) /除法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; while(anext;i=i-next) for(j=i-next;j-next;j=j-next) if(i-numj-num) h.num=i-num; i-num=j-num; j-num=h.num; strcpy(h.name,i-name); strcpy(i-name,j-name); strcpy(j-name,h.name); h.scor

9、e=i-score; i-score=j-score; j-score=h.score; h.zhengquelv=i-zhengquelv; i-zhengquelv=j-zhengquelv; j-zhengquelv=h.zhengquelv; main() FILE *file; struct student *p1,*p2,*head; char a=学号 姓名 成绩 正确率n; if(file=fopen(C:UsersuserDesktop学生成绩表.txt,r+)=NULL) /打开文件 printf(打开文件失败); exit(0); p1=p2=(struct studen

10、t*)malloc(LEN); /创建链表 head=p1; printf(请输入学号:); scanf(%d,&p1-num); while(p1-num) printf(请输入学生姓名:); scanf(%s,p1-name); p1-score=defeng(); p1-zhengquelv=p1-score/zong*100; p1-score=p1-zhengquelv/100*160; p1=(struct student *) malloc(LEN); p2-next=p1; p2=p1; printf(n题目完成n); Sleep(500); system(cls); prin

11、tf(请输入学号(输入零结束):); scanf(%d,&p1-num); p2-next=NULL; printf(成绩批改完毕n); Sleep(1000); system(cls); printf(排序中n); Sleep(1000); paixu(head); printf(排序完成n); fclose(file); if(file=fopen(C:UsersuserDesktop学生成绩表.txt,w+)=NULL) printf(打开文件失败); exit(0); fputs(a,file); /写入文件puts(a); while(head-next) fprintf(file,

12、%d %-6s %d %.2fn,head-num,head-name,head-score,head-zhengquelv); printf(%d %-6s %d %.2fn,head-num,head-name,head-score,head-zhengquelv); head=head-next; fclose(file);#include#include#include#include#include#define LEN sizeof(struct student)struct studentint num; char name50; int score; double zhengq

13、uelv; struct student *next;int no=0;double zong=0;int defeng()int i,yes=0,jia,jian,chen,chu,a,b,c; printf( 数学测试系统 n); printf( 请在类型后输入选择完成的题目个数:n); printf(加法: );scanf(%d,&jia); printf(减法: );scanf(%d,&jian); printf(乘法: );scanf(%d,&chen); printf(除法: );scanf(%d,&chu); printf(注意:除法保留整数n); zong=jia+jian+c

14、hen+chu; for(i=1;i=jia;i+) /加法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; printf(%d+%d= ,a,b); scanf(%d,&c); if(c=a+b) yes+; printf(truen); else no+;printf(wrong %dn,a+b); for(i=1;i=jian;i+) /减法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; while(ab) a=rand()%100; b=rand()%100;

15、printf(%d-%d= ,a,b); scanf(%d,&c); if(c=a-b) yes+; printf(truen); else no+;printf(wrong %dn,a-b); for(i=1;i=chen;i+) /乘法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; printf(%d*%d= ,a,b); scanf(%d,&c); if(c=a*b) yes+; printf(truen); else no+;printf(wrong %dn,a*b); for(i=1;i=chu;i+) /除法 sran

16、d(unsigned)time(NULL); a=rand()%100; b=rand()%100; while(anext;i=i-next) for(j=i-next;j-next;j=j-next) if(i-numj-num) h.num=i-num; i-num=j-num; j-num=h.num; strcpy(h.name,i-name); strcpy(i-name,j-name); strcpy(j-name,h.name); h.score=i-score; i-score=j-score; j-score=h.score; h.zhengquelv=i-zhengque

17、lv; i-zhengquelv=j-zhengquelv; j-zhengquelv=h.zhengquelv; main() FILE *file; struct student *p1,*p2,*head; char a=学号 姓名 成绩 正确率n; if(file=fopen(C:UsersuserDesktop学生成绩表.txt,r+)=NULL) /打开文件 printf(打开文件失败); exit(0); p1=p2=(struct student*)malloc(LEN); /创建链表 head=p1; printf(请输入学号:); scanf(%d,&p1-num); wh

18、ile(p1-num) printf(请输入学生姓名:); scanf(%s,p1-name); p1-score=defeng(); p1-zhengquelv=p1-score/zong*100; p1-score=p1-zhengquelv/100*160; p1=(struct student *) malloc(LEN); p2-next=p1; p2=p1; printf(n题目完成n); Sleep(500); system(cls); printf(请输入学号(输入零结束):); scanf(%d,&p1-num); p2-next=NULL; printf(成绩批改完毕n);

19、 Sleep(1000); system(cls); printf(排序中n); Sleep(1000); paixu(head); printf(排序完成n); fclose(file); if(file=fopen(C:UsersuserDesktop学生成绩表.txt,w+)=NULL) printf(打开文件失败); exit(0); fputs(a,file); /写入文件puts(a); while(head-next) fprintf(file,%d %-6s %d %.2fn,head-num,head-name,head-score,head-zhengquelv); pri

20、ntf(%d %-6s %d %.2fn,head-num,head-name,head-score,head-zhengquelv); head=head-next; fclose(file);调试:1 菜单函数执行结果:进入程序后进入程序主菜单错误时的程序结果七、流程图八、结语通过这次课程设计,经过共同努力,完成了小学生数学测试软件这一课程设计,在这过程中也加深了对课本的认识和了解。同时,我们也会去查资料,学会了我对很多的函数有了新的认识,也学会了运用多种函数,我也明白了写软件的基本过程和基本方法。写软件的过程中我又学到了曾经自己不知道的函数或是自己不会的函数的用法。这次课程设计课总的来说

21、让我受益匪浅。在软件的设计过程中遇到了很多的困难,我们也学会了在困难中解决问题。这次的程序设计过程中,我们受益匪浅,也让我们体会到了失败时的焦急和难受,成功时的兴奋与喜悦。同时我也知道了专业课的重要性。 九、参考书目1 谭浩强,C程序设计教程,清华大学出版社,2007年2 赵永哲,李雄飞,戴秀英编著,C语言程序设计,科学出版社,2003年3 夏宽理,赵子正编著,C语言程序设计,中国铁道出版社,2006年4 谭浩强编著,C程序设计,清华大学出版社,1991年5 Gary J. Bronson, A First Book of ANSI C (Fourth Edition), Publishing House of Electronics Industry, 2006.6 Al Kelley, Ira Pohl, A Book on C: Programming in C (Fourth Edition), China Machine Press, 2004.7 Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, China Machine Press, 2006.计算机工程学院课程设计评定意见指导教师评语成绩: 签名: 年 月 日

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2