《数据结构》课程设计说明书题目学生信息管理系统学号1267159209姓名王绪指导教师周李涌日期2013年12月31日-2-内蒙古科技大学课程设计任务书课程名称数据结构课程设计设计题目学生信息管理系统指导教师周李涌时间2013年秋学期第15周至第19周一、教学要求1.掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。学生信息管理系统要求综合运用《C++面向对象程序设计》和《数据结构》的知识来实现此题目。具体如下:设计人员基类,由其派生学生类人员基类中用虚函数(或纯虚函数)来统一标识类族相同操作,实现动态多态用顺序表来表示学生信息,相关存储结构要定义为类模板能对不同数据项进行查询,对有序数据项的查询要用折半查找算法实现对学生总成绩或单科成绩进行排序,至少用到一种先进的排序方法并设计主函数测试该类(或类模板)。三、设计要求及成果1.分析课程设计题目的要求2.写出详细设计说明3.编写程序代码,调试程序使其能正确运行4.设计完成的软件要便于操作和使用5.设计完成后提交课程设计报告四、进度安排资料查阅与讨论(1天)系统分析(2天)系统的开发与测试(5天)编写课程设计说明书和验收(2天)五、评分标准1.根据平时上机考勤、表现和进度,教师将每天点名和检查2.根据课程设计完成情况,必须有可运行的软件。3.根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。4.根据答辩的情况,应能够以清晰的思路和准确、简练的语言叙述自己的设计和回答教师的提问六、建议参考资料1.《数据结构(C语言版)》严蔚敏、吴伟民主编清华大学出版社2004.112.《数据结构课程设计案例精编(用C/C++描述)》,李建学等编著,清华大学出版社2007.23.《数据结构:用面向对象方法与C++语言描述》,殷人昆主编,清华大学出版社2007.6-3-目录第1章需求分析...........................................................................................................................-4-第2章总体设计...........................................................................................................................-6-3.1SeqList抽象数据类型的设计..........................................................................................-7-第4章详细设计...........................................................................................................................-9-4.1工程视图...........................................................................................................................-9-4.2类图视图...........................................................................................................................-9-4.3函数的调用关系..............................................................................................................-11-4.4主程序流程图.................................................................................................................-12-第5章测试.................................................................................................................................-17-第6章总结.................................................................................................................................-23-附录:程序代码...........................................................................................................................-25--4-第1章需求分析随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。而随着校园信息化、多媒体化的建设。教育资源的种类已经远远的超出了以往我们所认知的范畴。各种多媒体教学设施的运用;各色师资力量的介入教育资源是教育系统中最重要,最被关注的组成部分。教育资源的优劣,直接关系着教育效益的产出。教育资源管理的好坏将直接影响着学校的建设和发展。作为一个循环的,可持续性强的学校,很有必要实行资产经营,力求在教育方向上能取到跟高的升学率和较低的资产营运成本。在新的形势下,学校也要树立科学发展观,自觉地按照市场经济的内在规律办事,以实现学校产业价值最大化为目标,注重价值形态经营管理,实现教育资源、资产的最大化利用,以及争取取得最大的效益产出。教育资源管理系统是指综合运用地理信息系统(GIS)、多媒体及虚拟现实等现代信息技术实现对学校校舍、课桌、教学用具等硬件设施和师资力量等软件设施的信息的采集、集成和管理。它的建设将为教育部门对教育资源的管理起到很重要的监督和管理作用。并能够作为一项新兴的部门管理方法。学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。但其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依*人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,所以利用计算机实现学生信息档案管理成为必然的趋势。本系统针对学校学生信息的特点以及管理中实际需要而设计,能够有效地实现学生信息管理的信息化,减轻管理人员的工作负担,高效率、规范化地管理大量的学生信息,并避免人为操作的错误和不规范行为。我的学生信息管理系统包括基于管理员的操作和基于学生的操作。管理员的操作应包括录入学生信息,查询信息,修改信息,删除信息等;学生的操作只有查询信息。-5-以顺序表SeqList存储集合,在此基础上完成对集合的操作。类包括俩个一个为student类:其中包括学生的学号,姓名,年龄,以及各科的成绩,总成绩及平均成绩等。第二个类为SeqList:其中包括一个student类的数组和一个数组大小的size;以及对顺序表的插入和删除操作。管理员账号为:boss管理员密码为:10086-6-第2章总体设计系统的功能结构,用文字描述系统要完成的功能,用结构框图表示各个功能之间的关系。系统功能管理员操作学生操作录入信息查询信息修改信息删除信息查询信息-7-第3章3.1SeqList抽象数据类型的设计ADTSeqList{数据对象D:D是具有数值的常量C和没有数值的变量V;数据关系:R={(V或者C)P(V或者C)|V,C∈D,(V或者C)P(V或者C)表示由运算符P结合起来的表达式E}基本操作:Voidchang(intn)初始条件:list类型的数组存在;操作结果:修改list中的数据voiddel(intn)初始条件:list类型的数组存在;操作结果:删除一个list数组中的元素。Voiderfeng(datatypea[],intkey,intn)初始条件:list类型的数组存在;操作结果:对datatype类型的数组进行排序。voidFind(datatype&item)初始条件:list类型的数组存在;操作结果:将datatype类型的数组显示在显示器上。voidkecheng(intn)初始条件:list类型的数组存在;操作结果:对list类型的数组查找其课程数据项。voidluru(intn)初始条件:list类型的数组存在;操作结果:将数据写入list类型的数组voidpaixu1(datatypearray[],intk,intlength)。初始条件:list类型的数组存在;-8-操作结果:datatype类型的数组array中的数据进行排序。voidxianshi(intn)初始条件:list类型的数组存在;操作结果:将liste类型的数组中的数据进行显示。}ADT-9-第4章详细设计4.1工程视图只有一个工程如图4.1图4.14.2类图视图共有俩个类,一个为SeqList如图4.2.1;另一个为student,如图4.2.2图4.2.1-10-图6.2.2classstudent{private:intnum;//学号intgrade[5];//成绩数组floatsum;//总成绩floatping;//平均成绩charname[20];//姓名intage;//年龄public:student(){}voidsetnum(intnu){num=nu;}建立学号intgetnum(){intn;n=num;returnn;}得到学号voidsetgrade(inta,intb){grade[b]=a;}建立成绩intgetgrade(intn){inta;a=grade[n];returna;}得到成绩voidsetname(char*na){strcpy(name,na);}建立姓名char*getname(){char*na;na=name;returnna;}得到姓名voidsetage(inta){age=a;}建立年龄intgetage(){inta;a=age;returna;}得到年龄friendclassSeqList;floatgetping();获得平均成绩intgetsum();获得总成绩student(student&s);};-11-4.3函数的调用关系main()主程序管理员guanliyuan()录入函数luru()学生studentmian()查询函数xianshi()删除函数del()修改函数change()-12-4.4主程序流程图删除函数模块设计voidSeqList::del