付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生成绩信息管理系统附录2:顺序表结构化设计源程序清单 . .26设计目的与要求该学生信息管理系统采用C+语言开发研制,针对学生成绩及其数据特点,可以全面实现对学生成绩的插入、查询、修 改、删除和输出等功能的计算机管理。 它能使学生信息数据的 工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少 人为的工作失误,全面提高学生信息管理的效率, 从而使学校 对于学生成绩的管理水平和技术水平跃上一个新的台阶。(1)程序要添加适当的注释,程序的书写要采用缩进格 式。(2)程序要具在一定的健壮性,即当输入数据非法时,程 序也能适当地做出反应,如插入删除时指定的位置不对等等。(3)程序要做到界面友好,在
2、程序运行时用户可以根据相 应的提示信息进行操作。(4)根据实验报告模板详细书写实验报告,在实验报告中 给出链表根据姓名进行查找的算法和插入算法的流程图。 设计内容定义一个包含学生信息(学号,姓名,成绩)的的顺序表和链表,使其具有如下功能:(1)根据指定学生个数,逐个输入学生信息;(2)逐个显示学生表中所有学生的相关信息;(3)根据姓名进行查找,返回此学生的学号和成绩;(4)根据指定的位置可返回相应的学生信息(学号,姓名, 成绩);(5)给定一个学生信息,插入到表中指定的位置;(6)删除指定位置的学生记录;(7)统计表中学生个数。2系统需求与功能分析 系统需求分析(1)能完成学生信息的插入、查询
3、、修改、删除、输出等 功能;(2)采用单链表与顺序表存储结构实现;(3)所有数据以外部文件方式保存。 系统功能分析(1)要设计一个学生成绩管理系统,其功能包括:1插入函数Add():将学生成绩信息插入到链表中;2查询函数Search():分别可以按学号和按姓名进行学 生成绩查询;3删除函数Delete():当需要删除的学号和姓名一致时 则删除对应的学生记录;4修改函数Modify():修改指定的学生成绩信息;5输出函数Show():输出全部学生成绩信息;6菜单函数Menu():为程序的菜单函数为实现各种功能 提供便捷;Read():从外部文件读取学生成绩信Save():将数据保存到外部文件中。
4、3总体结构设计通过对学生信息管理系统的功能分析, 可以定义出系统的 总体结构模块图,如图所示。图学生管理系统总体结构设计系统管理流程图前面的分析中已经定义了系统各个模块,属于静态建模的范 围。在系统运行时刻的动态模型应该由系统的流程决定。当用 户运行该系统后可以来进行学生信息插入管理、学生信息查询 管理、学生信息删除管理、学生信息修改管理及学生信息输出 等操作,具体的流程7读取数据函数息;8保存数据函数系统的结构设计如图所示。图系统流程图主模块应负责应用程序的主界面,由它调用其他模块.因此主模块应具有操作性好、界面清晰的特点,使用户能够很方便 地找到所需功能。根据功能需求的结果分析,主界面应该
5、由学生信息插入管理,学生信息查询管理、学生信息修改管理、学生信息删除管 理和学生信息输出管理组成,可以通过输入相应的数字进入相 应的功能模块。4链表学生信息管理系统详细设计和系统实现 系统总体设计完成后,就可以根据需求对各个模块来进行 实现了。在本系统中需要编码实现的主要有学生信息插入、学 生信息查询、学生信息修改、学生信息删除和学生信息输出等5个模块。(1)学生信息插入模块添加的信息包括学号(不允许重复)、姓名(不允许重复)、分数。流程图如下图所示开始插入数据调用类成员函数采用单链表保存数据结束图插入模块流程图本程序采用的是尾插法,就是每次将新申请的结点插在终 端结点的后面,其执行过程如图所
6、示。图尾插法建立单链表操作示意图(2)学生信息查询模块按姓名和学号查找学生信息的流程图分别如下图所示。图按姓名查找学生信息流程图在单链表中,即使知道被访问结点的位置i,也不能像顺序表那样直接按序号访问,而只能从头指针出发,设置一个工作指针p,顺next域逐个结点往下搜索。当p指向某个结点时 判断是否为第i个结点,若是则查找成功;否则,将工作指针p后移,即将p指向原来所指结点的后继结点。直到p为NULL时查找失败。单链表查找过程如图所示。图单链表查找过程的示意图按学号查询学生信息同按姓名查找学生信息,此处不再详细列出。(3)学生信息修改模块首先要查找与要修改数据相匹配的信息,若没有则返回失 败。
7、否则把相应的信息输出,然后再重新输入新的数据并保存 到单链表。(4)学生信息删除模块当选择删除功能时,首先输入要删除的同学的姓名,然后 输入要删除的同学的学号,如果该同学存在并且姓名与学号匹 配的上,则进行删除操作,否则返回失败。其流程图如下:图删除学生信息模块流程图删除操作定义为将单链表的第i个结点删去。因为在单链表中结点a存储地址在其前驱结点ai-i的指针域,所以必须首先找到ai-i的存储地址p,然后令p的next域指向ai的后继结 点,即把结点ai从链上摘下来,最后释放结点ai的存储空间,如图所示。图在单链表中删除结点指针的变化情况(5)学生信息输出模块从单链表表头遍历整个单链表,将所有
8、数据输出。其部分代码如下:void Function:Show() char choose;Student *temp;system(cls);temp=Student_First-Next;if(!temp) cout文件无数据nn endl;cout1.返回主菜单choose;while(choose!=1) cout1.返回主菜单choose;NMenu();else coutOut();onu iai宀iDsoolpccuo=pu vyM櫟州回数rvxns )(Ji!.sooipezmiDsoolpccuo=puvyM櫟州回数LVYns宀宀】xNAduJ晋dLU95系统测试在完成了系统
9、各方面的设计后,并不是可以运行就完成 的,为了保证系统性能的稳定性跟安全性等,就要对系统做测 试。测试环境如下:硬件:P4C,80GB硬盘,512M内存;软件:Windows XP Personal SP2,分辨率1024*768,MicrosoftVisual C+。1.这是链表的主界面2.这是顺序表的主界面图运行主界面我就以顺序表为例介绍一下我的学生信息管理系统吧选择1清空学生信息功能时,如图所示。图插入学生成绩信息实现2返回主菜单后选择3插入学生成绩信息,4删除学生信 息,运行结果按由姓名特定位置删除和按学号删除两种分别如 图和图所示。图按学生学号查找相关信息实现图按学号查找相关信息实现
10、3当在主菜单中选择4时,则进行删除功能。其运行结果 如图所示。图删除学生信息功能实现当在主菜单中选择6时,则进行显示当前信息功能。其运行 结果如图所示。图输出学生信息功能实现6结束语 通过这次数据结构课程设计的实验,在解决问题的过程 中,充分体会到了数据结构这门课程对于软件设计的重要性, 也体会到了数据结构+算法=程序这句话的真正含义,一个实际 问题的解决第一步就是要依赖于良好的抽象思维的,将实际问 题转化为相应的数据结构,只有这一步做好了,才能采取相应 的算法和优化方法解决问题和解决好问题。参考文献1钱新贤,杨猛,程兆炜,张少东Visual C+编程疑难详解M.北京:人民邮电出版社,2000
11、2王红梅,胡明,王涛数据结构(C+)M 北京:清华 大学出版社,20073程学先数据库原理与技术M北京:中国水利水电出版社,20014 Alex Kriegel & BorisSQL BibleM北京:电子工业出版社,20005郑章,程刚,张勇.Visual C+数据开发技术M.北京: 机械工业出版社,6and . C+ Annotations . Version4.4.0m,ICCE,University of Groningen,Netherlands,1990. 250280附录1:链表结构化设计源程序清单回主菜单choose;while(choose!=1) cout1.返回主
12、菜单choose;Menu();void Function:Delete()回主菜单n2.继续删除choose; while(choose!=1&choose!=2) cout1.返回主菜单n2.继续删除choose;if(choose=1)Menu();else if(choose=2)Delete();void Function:Modify()续修改choose;while(choose!=1&choose!=2) cout1.返回主菜单n2.继续修改choose;if(choose=1) Menu();else if(choose=2) Modify();void Fu
13、nction:Read()姓名查询n2.按学号查询n;cinchoose; if(choose=1) coutt1;while(temp) if(strcmp(t1,temp-GetName()=0) flag=1; break;temp=temp-Next;if(flag=0)coutn无该学生的信息nendl;else coutOut();break;else if(choose=2) coutt2;while(temp) if(t2=temp-GetNo() flag=1;break;temp=temp-Next;if(flag=0) coutn无该学生的信息nendl;else cou
14、tOut();break;while(choose!=1|choose!=2);coutn1.返回主菜单n2.继续查询choose;while(choose!=1&choose!=2) cout1.返回主菜单n2.继续查询choose;if(choose=1)Menu();else if(choose=2)Search();void Function:Show() char choose;Student *temp; system(cls); temp=Student_First-Next;if(!temp) cout文件无数据nn endl; cout1.返回主菜单choose;wh
15、ile(choose!=1) cout1.返回主菜单choose;Menu();else coutOut();temp=temp-Next;cout1.返回主菜单choose;while(choose!=1) cout1.返回主菜单choose;Menu();void Function:Menu() time_t t;time(&t);char choose;system(cls);cout -endl;coutendl;*endlendl;cout显示系统时间和日期ctime(&t)endl;*版权所有:李卉cout*endl;coutendlendl;平顶山学院欢迎你学生成
16、绩信息管理系统coutcout请选择您需要的操作,选择相关操作请输入相对的coutn;coutchoose;switch(choose) case 1: Add();break;case 2: Search();break;case 3: Delete();break;case 4: Modify();break;case 5: Show();break;case 6: exit(1);break;default: cout请按规定输入选择项!endl; Menu();括号里的阿拉伯数字!endl;cout录入学生成绩信息:nendl;cout查询学生成绩信息:nendl;cout删除学生成绩
17、信息:nendl;cout修改学生成绩信息:nendl;cout显示全部学生成绩信息:nendl;cout退出系统endl;o;coutendl;cout请输入第 ;coutendl;cout请输入第ii-1.score ;coutendl;+;coutn本次操作您一共输入了m名数据n; return 1;.n;if(pos cout对不起,您要查找的学生不存在,请检查!n;return 0;cout以下是您要找的学生信息:nn;cout学生姓名:endl;cout学生学号:pos-1.No endl;cout学生成绩:pos-1.scoreendlend
18、l; return 1;/删除操作/void main() Function function;int dele_elem1(sqlist &sl,int pos,student &elem) coutpos;if(pos cout您要删除的元素不存在,请检查!n; return 0; struct student *p,*q;p=&pos-1);elem=*p;q=+;for(+p;p=q;+p) *(p-1)=*p; cout已删除,请检查输出!nn; return 1;int dele_elem2(sqlist &sl,char *num,student &elem) student *q,*p; p=;q=+; int flag=0; for(p;pNo)=0) elem=*p; flag=1; if(flag)break; if(flag) for(+p;p=q;+p)*(p-1)=*p;cout已删除!检查输出看是否符合您的要求!return 1;else cout不存在该学号代表的学生信息!n;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国涡流泵行业渠道建设与销售网络优化报告
- 2026中国新能源汽车热管理部件市场现状及投资评估报告
- 2026深圳数据中心建设市场需求分析及投资评估研究报告
- 2026中国极限运动防护装备测试标准与国际认证对接障碍分析报告
- 2026商业广场物业管理行业市场分析及运营模式创新与行业竞争分析报告
- 2026中国水果蔬菜行业市场现状供需考察及产业发展策略评估
- 2026中国消费电子行业市场现状发展分析及投资评估规划分析研究报告
- 网站建设项目调研书模板
- 2026中国智能机器人协作工业市场需求分析及资金流向规划研究报告
- 2026青蛙农业科技发展政策支持与农产品全球市场开拓分析报告
- 2026年交通运输局招考面试题及答案
- 儿童喘息性疾病合理用药指南
- 租用充电桩协议书
- 咖啡厅安全培训课件
- 石油钻井师带徒协议
- YDT 5102-2024 通信线路工程技术规范
- 2025云南昆明市妇幼保健院见习人员招聘45人考试参考题库及答案解析
- 高校校企合作人才培养方案模板
- 航空应急演练方案(3篇)
- 全国工程监理行业知识竞赛题库(参考答案在末尾)
- 卡西欧手表LIW-T100T(4390)中文说明书
评论
0/150
提交评论