1、长春建筑学院数据结构课程设计(论文)顺序表的学生成绩管理系统设计与实现 Order table of student achievement management system design and implementation年 级: 学 号: 姓 名: 专 业 指导老师: 二零一三年十二月- 1 -长春建筑学院数据结构课程设计(论文)摘 要 随着社会的发展,学校的规模不断的扩大,日常教学活动中提取相关信息,以反映教学情况。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动
2、,规范教学管理行为,从而提高了管理效率和水平。学生成绩管理系统以计算机为工具,通过对学生成绩管理所需的信息管理,把管理人员和老师从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,学生成绩管理系统软件为教学办公室带来了极大的方便。该软件是以C语言为实现语言,其功能在系统内部有源代码直接完成。通过操作目录,管理者
3、和老师可以了解本软件的基本工作原理。管理者和老师只需输入一些简单的汉字、数字,即可达到自己管理学生成绩的目标。关键字: 成绩管理系统 c语言 数据结构III长春建筑学院数据结构课程设计(论文)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 manu
4、al operation, prone to loss 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, standardi
5、ze teaching management, so 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 ha
6、ve more energy to engage in 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 h
7、igh benefit, make the application 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 t
8、ime concept, student achievement 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 teach
9、ers can understand the basic 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长春建筑学院数据结构课程设计(论文)目 录摘
10、要IABSTRACTII第1章 绪 论- 1 -1.1 需求分析- 1 -1.2 实验目的- 1 -1.3实验内容- 1 -第2章 系统总体设计- 2 -2.1基本要求- 2 -2.2算法设计思想- 2 -2.3设计要求- 2 -第三章 系统详细设计- 3 -3.1创建空顺序表并初始化- 3 -3.2向顺序表中插入元素- 4 -3.3查找学生信息- 7 -3.4 删除学生信息- 8 -3.5输出学生信息- 9 -3.6修改学生信息- 9 -3.7退出学生信息管理系统- 12 -第四章 总体设计- 13 -4.1设计概述- 13 -4.2 系统总流程图及功能模块划分- 13 -4.2.1学生信息
11、查询模块- 14 -4.2.2学生信息查询模块- 15 -第五章 系统测试- 16 -5.1实验结果- 16 -实验总结- 20 -收获与心得- 21 -致 谢- 22 -参考文献- 23 -长春建筑学院数据结构课程设计(论文) 第1章 绪 论引言: 为了提高高校学生信息的管理效率,方便对学生信息进行管理、学校里面的学生和管理员方便去管理和查询学生信息,如再要进行查询,就得在众多的学生信息中查找自己的成绩信息,面对学院大量的学生信息,怎么可以即时而方便的管理,学生只要登录本系统就可以查找到自己的成绩信息,而管理员也方便去管理每学期的学生的成绩信息。建立一个学生信息管理系统,使学生信息管理工作规
12、范化,系统化,程序化,避免学生管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改学生信息是必须而且十分迫切的工作。1.1 需求分析学生管理系统功能的信息量大,数据安全性和保密性要求最高。本功能实现对专业信息、学生信息、教师信息情况信息的管理和统计、课程信息和成绩信息查看及维护。系统管理员可以浏览、查询、学生的基本信息,能添加、删除和修改学生信息,这部分功能应该由系统管理员执行,但是,删除某条专业基本信息记录时,应实现对该专业的相关信息也级联删除。并且还应具有查询,并打印输出的功能1.2 实验目的1. 掌握顺序表的建立。 2. 掌握顺序表的基本操作。 3. 掌握顺序查找的
13、基本算法1.3实验内容利用顺序表实现学生成绩管理系统,具体功能:输入、输出、插入、除、查找、修改、退出,并能在屏幕上输出操作前后的结果。第2章 系统总体设计2.1基本要求1.硬件:微机和打印机一台各2.软件:Visual C+ windows72.2算法设计思想1) 分析程序的功能要求,划分程序功能模块2) 画出系统流程3) 代码的编写,定义数据结构和各个功能子函数4) 程序的功能调试2.3设计要求1. 写出系统需求分析,并建模。 2. 编程实现,界面友好。 3. 输出操作前后的结果。4. 提供测试报告第三章 系统详细设计3.1创建空顺序表并初始化void creatList(sqlist *
14、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(有几位同学:n); scanf(%d,&n); for(i=0;ilength=L-listsize) newbase=(Elemtype*)realloc(L-elem,(List_INIT_SPACE+List_INC_SPACE)*sizeof(Elemt
15、ype); 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)n); scanf(%16s,L-elemL-length.name); printf(性别(男:M女:F)n); scanf(%16s,L-elemL-length.sex); printf(成绩n); scanf(%10d,&L-elemL-l
16、ength.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-elemi.sex,L-elemi.score);3.2向顺序表中插入元素void insertlist(sqlist*L) int i,j,k; char sign=y; Elemtype *newbase; Elemtype newelem; whil
17、e(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; else exit(OVERFLOW); printf(请输入要插入的同学的信息:n); printf(学号(15)n); scanf(%16s,newelem.number); printf(姓名(15)n); scanf(%16s,newelem
18、.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到第%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;
19、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-elemj.sexk=newelem.sexk; L-elemj.score=newelem.score; printf(是否还要输入?(Y or N); getchar(); scanf(%c,&sign); if(sign=n|sign=N) sign=n
20、; 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);3.3查找学生信息int findlist(sqlist *L) int j;char i16; printf(1.按学号查找n2.按姓名查找n请选择:); scanf(%d,&j); if(j=1) printf(请输入学号:); scanf(%s,
21、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; return 0; 3.4 删除学生信息int delnode(sqlist *L) int j;char i10; printf(1.按学号删除n2.按姓名删除n请选择:); scanf(%d,&j); if(j=1) printf(请输入学号:
22、); 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(请输入姓名:); 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
23、-; 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%-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; c
24、har sex16; char number16;int score; printf(请选择你要改的同学的姓名); scanf(%16s,name); printf(请选择你要改的同学的信息n); printf(1.修改学生的姓名n); printf(2.修改学生的学号n); printf(3.修改学生的性别n);printf(4.修改学生的成绩n); scanf(%d,&x); switch(x) case 1: for(i=0;ilength;i+) if(strcmp(name,L-elemi.name)=0) printf(请输入新名字); scanf(%16s,name); strc
25、py(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-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) prin
26、tf(请输入新性别); 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(请输入新成绩); scanf(%d,score);L-elemi.score=score; a=1;if(a=0) printf(对不起你要改的名字不存在n); break;3.7退出学生信息管理系统void tuichu(sqlist *L) if(!L-elem) fr
27、ee(L-elem); printf(nn再见,欢迎下次使用); exit(-2);第四章 总体设计4.1设计概述 根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。逐一实现各个功能。4.2 系统总流程图及功能模块划分经过对系统的需求分析,学生信息管理系统主要划分为三个部分:学生信息查询,学生信息管理,学生成绩录入三个功能模块。如图4.2系统的总体结构。主函数开始根据printf函数输出的提示信息选择相关操作根据while语句选择06相应的数字Switch语句实现的具体操作5.输出学生信息4.删除学生信息6.修改学生信息0.退出学生信息系统3.查
28、找学生信息2添加学生信息1.创建学生信息并初始化根据相关调用函数输出相应学生信息程序结束图4.2系统的总体结构4.2.1学生信息查询模块学生信息查询:学生可以根据学号、姓名、专业进行查询。如图3.2.2学生信息查询模块结构。学生信息管理系统学生信息查询学生信息管理学生信息录用图4.2.1学生信息管理模块结构 4.2.2学生信息查询模块学生信息查询:学生可以根据学号、姓名、专业进行查询。如图4.2.2学生信息查询模块结构。学生信息查询学号查询姓名查询图4.2.2学生信息管理模块结构第5章 系统测试第五章 系统测试 1在调试过程中出现了很多次的程序错误,警告和不能运行。在很多次的调试和重新改写之后
29、,才可以用。 2VisualC+确实是一门需要极其细心和耐心的课程,尤其在程序设计的过程中不可有一丝的马虎大意,否则将会花很大力气去改正。3.调试过程中最常见的便是代码输入错误,如字母大小写、顺序颠倒、符号的半/全角使用等一些问题,都是在调试过程中逐一改正的。5.1实验结果1.初始化2.输入3插入4查找5删除6修改7退出实验总结在程序设计方面,逐渐感觉到模块化设计的重要性。在程序设计时,应该分析出功能块,然后对其细节中的共性和特性作分析。在算法上使得其结果精简、完整,达到模块化,在编程时,思考方式就会集中在结构的逻辑上而非细节的问题上。这样可以使得程序更加严密可靠。而这样的技能是要在每次的程序
30、设计及编程中慢慢积累的。这次的设计,让我大大地感觉到,对于程序设计中,对语言再熟悉也比不过在设计中算法和结构分析的真知灼见。当然,成功的程序设计是要建立在熟悉语言的基础之上的。平时语言的基本功要扎实。而每一次程序设计的经营能大大地增加对语言的熟悉和感知。程序设计的技能来自多方面,每一次的亲自实践、思考揣摩、刨根问底就会让自己更加清楚所欠缺的是什么。所以,现在觉得在设计实践中作为参考的书册阅读和研究远远比过单纯的阅读,因为它是在最紧迫的时间上填补自己最紧迫的不足。收获与心得通过这次程序设计,增加了我们学习软件的兴趣,加强了小组成员之间的协作能力。这次程序设计由老师提供课题,参考范例程序,经过自己
31、的改写,实现程序设计要求。一个模块一个模块去做,在实际操作过程中会有一些错误,我们要自己动手去改,这样不光能学到知识还能有一些体会。在具体操作中,不光能对这学期所学的知识得到巩固,还能发现自己的不足之处,在以后操作中能更加注意。通过实际操作,学会C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题与解决问题的能力,提高了实际操作水平致 谢 因为初次接触等原因此次设计遇到了许多问题,我深刻体会到老师发挥的重要作用,数据结构程序对我们来说比较难,在匆忙的学习中更是难上加难,似乎觉得自己仅是个匆匆过客,但在老师的帮助下我学会了如何调试,如何查找系统没有提示的错误,最后终于排除
32、万难把程序搞定,体会到原来编程也挺有意思的快感.我想没有老师的帮助我很难在短期内把程序设计做的这样好,在此特地感谢老师的帮助。参考文献1李丽娟.C语言程序设计教程(第二版).北京:人民邮电出版社2009年2刁成嘉.C语言程序设计论文D.北京:清华大学出版社2004年3杨文军,杨柳.C语言程序设计教程M.北京:清华大学出版社2010年4周启海.C语言程序设计报告R.北京:中国水利工程出版社2005年5谭浩强.C程序设计(第三版)M.北京:清华大学出版社2005年物业安保培训方案 为规范保安工作,使保安工作系统化/规范化,最终使保安具备满足工作需要的知识和技能,特制定本教学教材大纲。一、课程设置及
33、内容全部课程分为专业理论知识和技能训练两大科目。其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。二培训的及要求培训目的1)保安人员培训应以保安理论知识、消防知识、法律常识教学为主,在教学过程中,应要求学员全面熟知保安理论知识及消防专业知识,在工作中的操作与运用,并基本掌握现场保护及处理知识2)职业道德课程的教学应根据不同的岗位元而予以不同的内容,使保安在各自不同的工作岗位上都能养成具有本职业特点的良好职业道德和行为规范)法律常识教学是理论课的主要内容之一,要求所有保安都应熟知国家有关法
34、律、法规,成为懂法、知法、守法的公民,运用法律这一有力武器与违法犯罪分子作斗争。工作入口门卫守护,定点守卫及区域巡逻为主要内容,在日常管理和发生突发事件时能够运用所学的技能保护公司财产以及自身安全。2、培训要求1)保安理论培训通过培训使保安熟知保安工作性质、地位、任务、及工作职责权限,同时全面掌握保安专业知识以及在具体工作中应注意的事项及一般情况处置的原则和方法。2)消防知识及消防器材的使用通过培训使保安熟知掌握消防工作的方针任务和意义,熟知各种防火的措施和消防器材设施的操作及使用方法,做到防患于未燃,保护公司财产和员工生命财产的安全。3) 法律常识及职业道德教育通过法律常识及职业道德教育,使
35、保安树立法律意识和良好的职业道德观念,能够运用法律知识正确处理工作中发生的各种问题;增强保安人员爱岗敬业、无私奉献更好的为公司服务的精神。4) 工作技能培训其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。二培训的及要求培训目的安全生产目标责任书为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部签订如下安全生产目标:一、目标值:1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。2、现金安全保管,不发生盗窃事故。3、每月足额提取
36、安全生产费用,保障安全生产投入资金的到位。4、安全培训合格率为100%。二、本单位安全工作上必须做到以下内容: 1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责,确保安全责任制在本单位全面落实,并全力支持安全工作。 2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。 3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。 4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任
37、务时,必须安排安全工作内容,并写入记录。 5、在公司及政府的安全检查中杜绝各类违章现象。 6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。 7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。 8、虚心接受员工提出的问题,杜绝不接受或盲目指挥;9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。 10、必须按规定对单位员工进行培训和新员工上岗教育;11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。 三、 安全奖惩: 1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。 2、每月接受主管领导指派人员对安全生产责任状的落- 25 -