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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(顺序表的学生成绩管理系统设计与实现.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

顺序表的学生成绩管理系统设计与实现.docx

1、顺序表的学生成绩管理系统设计与实现 长春建筑学院数据结构课程设计(论文)顺序表的学生成绩管理系统设计与实现 Order table of student achievement management system design and implementation年 级: 学 号: 姓 名: 专 业 指导老师: 二零一三年十二月摘 要 随着社会的发展,学校的规模不断的扩大,日常教学活动中提取相关信息,以反映教学情况。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学

2、管理行为,从而提高了管理效率和水平。学生成绩管理系统以计算机为工具,通过对学生成绩管理所需的信息管理,把管理人员和老师从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,学生成绩管理系统软件为教学办公室带来了极大的方便。该软件是以C语言为实现语言,其功能在系统内部有源代码直接完成。通过操作目录,管理者和老师可以

3、了解本软件的基本工作原理。管理者和老师只需输入一些简单的汉字、数字,即可达到自己管理学生成绩的目标。关键字: 成绩管理系统 c语言 数据结构AbstractWith the development of the society, the school scale unceasingly expands, the daily teaching activities to extract relevant information, to reflect the teaching situation. Traditional way of manual operation, prone to los

4、s of data, statistical errors, high labor intensity, and the slow speed. Using the computer can be high speed, quickly complete the above work. After the computer networking, data transmission on the Internet, can realize data sharing, avoid duplication of effort, standardize teaching management, so

5、 as to improve the management efficiency and level. Student achievement management system by means of computer, through the information needed for the student performance management in the management, the management and teachers from complicated data processing, make its have more energy to engage i

6、n the research and implementation of the policy of the educational administration teaching plan execution and the teaching quality supervision and inspection, so as to improve the quality of teaching comprehensively.The information society the high-tech, goods of contract high benefit, make the appl

7、ication of computer has spread to all areas of economic and social life. Although computer and human relations more and more close, and because the computer operation is not convenient to continue with manual labor. In order to adapt to modern society people highly strong time concept, student achie

8、vement management system software for the teaching office has brought great convenience. The software based on C language implementation language, its function within the system have the source code directly to finish. By manipulating the directory, administrators and teachers can understand the bas

9、ic working principle of this software. Administrators and teachers only need to input some simple Chinese characters, Numbers, can achieve their management goal of the students grade.key words: achievement management system, c language, data structure第1章 绪 论引言: 为了提高高校学生信息的管理效率,方便对学生信息进行管理、学校里面的学生和管理

10、员方便去管理和查询学生信息,如再要进行查询,就得在众多的学生信息中查找自己的成绩信息,面对学院大量的学生信息,怎么可以即时而方便的管理,学生只要登录本系统就可以查找到自己的成绩信息,而管理员也方便去管理每学期的学生的成绩信息。建立一个学生信息管理系统,使学生信息管理工作规范化,系统化,程序化,避免学生管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改学生信息是必须而且十分迫切的工作。1.1 需求分析学生管理系统功能的信息量大,数据安全性和保密性要求最高。本功能实现对专业信息、学生信息、教师信息情况信息的管理和统计、课程信息和成绩信息查看及维护。系统管理员可以浏览、查询、

11、学生的基本信息,能添加、删除和修改学生信息,这部分功能应该由系统管理员执行,但是,删除某条专业基本信息记录时,应实现对该专业的相关信息也级联删除。并且还应具有查询,并打印输出的功能1.2 实验目的1.掌握顺序表的建立。 2.掌握顺序表的基本操作。 3.掌握顺序查找的基本算法1.3实验内容利用顺序表实现学生成绩管理系统,具体功能:输入、输出、插入、除、查找、修改、退出,并能在屏幕上输出操作前后的结果。第2章 系统总体设计2.1基本要求1.硬件:微机和打印机一台各2.软件:Visual C+ windows72.2算法设计思想1)分析程序的功能要求,划分程序功能模块2)画出系统流程3)代码的编写,

12、定义数据结构和各个功能子函数4)程序的功能调试2.3设计要求1.写出系统需求分析,并建模。 2.编程实现,界面友好。 3.输出操作前后的结果。4.提供测试报告第三章 系统详细设计3.1创建空顺序表并初始化void creatList(sqlist *L) int i=0,n; Elemtype *newbase; L-elem=(Elemtype*)malloc(List_INIT_SPACE*(sizeof(Elemtype) ; if(!L-elem) exit(OVERFLOW); L-length=0; L-listsize=List_INIT_SPACE; printf(有几位同学:

13、n); scanf(%d,&n); for(i=0;ilength=L-listsize) newbase=(Elemtype*)realloc(L-elem,(List_INIT_SPACE+List_INC_SPACE)*sizeof(Elemtype); if(newbase) L-elem=newbase; L-listsize+=List_INC_SPACE; else exit(OVERFLOW); printf(请输入第%d名同学的信息:n,i+1); printf(学号(15)n); scanf(%16s,L-elemL-length.number); printf(姓名(15

14、)n); scanf(%16s,L-elemL-length.name); printf(性别(男:M女:F)n); scanf(%16s,L-elemL-length.sex); printf(成绩n); scanf(%10d,&L-elemL-length.score); L-length+; printf(%d名学生信息如下:n,L-length); printf(学号(15) 姓名(15) 性别(男:M女:F) 成绩n); for(i=0;ilength;i+) printf(%-16s%-16s%-16s%-10dn,L-elemi.number,L-elemi.name,L-ele

15、mi.sex,L-elemi.score);3.2向顺序表中插入元素void insertlist(sqlist*L) int i,j,k; char sign=y; Elemtype *newbase; Elemtype newelem; while(sign!=n) if(L-length=L-listsize) newbase=(Elemtype*)realloc(L-elem,(List_INIT_SPACE+List_INC_SPACE)*sizeof(Elemtype); if(newbase) L-elem=newbase; L-listsize+=List_INC_SPACE;

16、 else exit(OVERFLOW); printf(请输入要插入的同学的信息:n); printf(学号(15)n); scanf(%16s,newelem.number); printf(姓名(15)n); scanf(%16s,newelem.name); printf(性别(男:M女:F)n); scanf(%16s,newelem.sex); printf(成绩n); scanf(%10d,&newelem.score); printf(要插入到第几个位置:); scanf(%d,&i); while(iL-length+1) printf(不能插入到第%d个位置!n只能插入第1

17、到第%d个 位置上!n请重新输入要插入的位置:,L-length+1); scanf(%d,&i); L-length+; for(j=L-length-1;ji-2;j-) for(k=0;kelemj.namek=L-elemj-1.namek; L-elemj.numberk=L-elemj-1.numberk; L-elemj.sexk=L-elemj-1.sexk; L-elemj.score=L-elemj-1.score; j+; for(k=0;kelemj.namek=newelem.namek; L-elemj.numberk=newelem.numberk; L-elem

18、j.sexk=newelem.sexk; L-elemj.score=newelem.score; printf(是否还要输入?(Y or N); getchar(); scanf(%c,&sign); if(sign=n|sign=N) sign=n; printf(%d名学生信息如下:n,L-length); printf(学号(15) 姓名(15) 性别(男:M女:F) 成绩n); for(i=0;ilength;i+) printf(%-16s%-16s%-16s%-10dn,L-elemi.number,L-elemi.name,L-elemi.sex,L-elemi.score);

19、3.3查找学生信息int findlist(sqlist *L) int j;char i16; printf(1.按学号查找n2.按姓名查找n请选择:); scanf(%d,&j); if(j=1) printf(请输入学号:); scanf(%s,i); if(!strcmp(i,L-elemj.number)/i=L-elemj.number用数组函数 return j+1; return 0; else printf(请输入姓名:); scanf(%s,i); for(j=0;jlength;j+) if(!strcmp(i,L-elemj.name)/用数组函数 return j+1

20、; return 0; 3.4 删除学生信息int delnode(sqlist *L) int j;char i10; printf(1.按学号删除n2.按姓名删除n请选择:); scanf(%d,&j); if(j=1) printf(请输入学号:); scanf(%s,i); for(j=0;jlength;j+) if(!strcmp(i,L-elemj.number)/i=L-elemj.number用数 组函数 for(;jlength;j+) L-elemj=L-elemj+1; L-length-; return 1; return 0; else printf(请输入姓名:)

21、; scanf(%s,i); for(j=0;jlength;j+) if(!strcmp(i,L-elemj.name)/用数组函数 for(;jlength;j+) L-elemj=L-elemj+1; /L-elemj以后的向前 挪 L-length-; return 1; return 0; 3.5输出学生信息void printlist(sqlist *L) int i; printf(%d名学生信息如下:n,L-length); printf(学号(15) 姓名(15) 性别(男:M女:F) 成绩n); for(i=0;ilength;i+) printf(%-16s%-16s%-

22、16s%-10dn,L-elemi.number,L-elemi.name,L-elemi.sex,L-elemi.score);3.6修改学生信息void reviselist(sqlist *L) int i,x,a=0; char name16; char sex16; char number16;int score; printf(请选择你要改的同学的姓名); scanf(%16s,name); printf(请选择你要改的同学的信息n); printf(1.修改学生的姓名n); printf(2.修改学生的学号n); printf(3.修改学生的性别n); printf(4.修改学生

23、的成绩n); scanf(%d,&x); switch(x) case 1: for(i=0;ilength;i+) if(strcmp(name,L-elemi.name)=0) printf(请输入新名字); scanf(%16s,name); strcpy(L-elemi.name,name); a=1; if(a=0) printf(对不起你要改的名字不存在n); break; case 2: for(i=0;ilength;i+) if(strcmp(name,L-elemi.name)=0) printf(请输入新学号); scanf(%16s,number); strcpy(L-

24、elemi.number,number); a=1; if(a=0) printf(对不起你要改的名字不存在n); break; case 3: for(i=0;ilength;i+) if(strcmp(name,L-elemi.name)=0) printf(请输入新性别); scanf(%16s,sex); strcpy(L-elemi.sex,sex); a=1; if(a=0) printf(对不起你要改的名字不存在n); break; case 4: for(i=0;ilength;i+) if(strcmp(name,L-elemi.name)=0) printf(请输入新成绩)

25、; scanf(%d,score); L-elemi.score=score; a=1; if(a=0) printf(对不起你要改的名字不存在n); break;3.7退出学生信息管理系统void tuichu(sqlist *L) if(!L-elem) free(L-elem); printf(nn再见,欢迎下次使用); exit(-2);第四章 总体设计4.1设计概述 根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。逐一实现各个功能。4.2 系统总流程图及功能模块划分经过对系统的需求分析,学生信息管理系统主要划分为三个部分:学生信息查询

26、,学生信息管理,学生成绩录入三个功能模块。如图4.2系统的总体结构。图4.2系统的总体结构4.2.1学生信息查询模块学生信息查询:学生可以根据学号、姓名、专业进行查询。如图3.2.2学生信息查询模块结构。图4.2.1学生信息管理模块结构 4.2.2学生信息查询模块学生信息查询:学生可以根据学号、姓名、专业进行查询。如图4.2.2学生信息查询模块结构。图4.2.2学生信息管理模块结构第5章 系统测试第五章 系统测试 1在调试过程中出现了很多次的程序错误,警告和不能运行。在很多次的调试和重新改写之后,才可以用。 2VisualC+确实是一门需要极其细心和耐心的课程,尤其在程序设计的过程中不可有一丝

27、的马虎大意,否则将会花很大力气去改正。3.调试过程中最常见的便是代码输入错误,如字母大小写、顺序颠倒、符号的半/全角使用等一些问题,都是在调试过程中逐一改正的。5.1实验结果1.初始化2.输入3插入4查找5删除6修改7退出实验总结在程序设计方面,逐渐感觉到模块化设计的重要性。在程序设计时,应该分析出功能块,然后对其细节中的共性和特性作分析。在算法上使得其结果精简、完整,达到模块化,在编程时,思考方式就会集中在结构的逻辑上而非细节的问题上。这样可以使得程序更加严密可靠。而这样的技能是要在每次的程序设计及编程中慢慢积累的。这次的设计,让我大大地感觉到,对于程序设计中,对语言再熟悉也比不过在设计中算

28、法和结构分析的真知灼见。当然,成功的程序设计是要建立在熟悉语言的基础之上的。平时语言的基本功要扎实。而每一次程序设计的经营能大大地增加对语言的熟悉和感知。程序设计的技能来自多方面,每一次的亲自实践、思考揣摩、刨根问底就会让自己更加清楚所欠缺的是什么。所以,现在觉得在设计实践中作为参考的书册阅读和研究远远比过单纯的阅读,因为它是在最紧迫的时间上填补自己最紧迫的不足。收获与心得通过这次程序设计,增加了我们学习软件的兴趣,加强了小组成员之间的协作能力。这次程序设计由老师提供课题,参考范例程序,经过自己的改写,实现程序设计要求。一个模块一个模块去做,在实际操作过程中会有一些错误,我们要自己动手去改,这样不光能学到知识还能有一些体会。在具体操作中,不光能对这学期所学的知识得到巩固,还能发现自己的不足之处,在以后操作中

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

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