北京理工大学数据结构课程设计学生信息管理专题报告

上传人:第*** 文档编号:56895157 上传时间:2018-10-16 格式:DOCX 页数:29 大小:265.95KB
返回 下载 相关 举报
北京理工大学数据结构课程设计学生信息管理专题报告_第1页
第1页 / 共29页
北京理工大学数据结构课程设计学生信息管理专题报告_第2页
第2页 / 共29页
北京理工大学数据结构课程设计学生信息管理专题报告_第3页
第3页 / 共29页
北京理工大学数据结构课程设计学生信息管理专题报告_第4页
第4页 / 共29页
北京理工大学数据结构课程设计学生信息管理专题报告_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《北京理工大学数据结构课程设计学生信息管理专题报告》由会员分享,可在线阅读,更多相关《北京理工大学数据结构课程设计学生信息管理专题报告(29页珍藏版)》请在金锄头文库上搜索。

1、专题设计专题设计(链表链表)报告报告题目:学生成绩管理系统题目:学生成绩管理系统小组成员:小组成员:专题报告专题报告第十组问题描述问题描述设计一个“学生成绩管理系统” 。主要实现学生信息的录入、添加、修改、 删除、排序和查看等基本功能。设计要求设计要求编写一个学生成绩管理程序。学生成绩以一个学生一条记录的形式存储, 每个学生记录包含的信息有序号、学号、姓名及 5 门功课的成绩。具体功能如 下:a. 获取学生成绩。可以从文件中读取成绩,也可直接录入。查询学生成绩,输入学生学号或姓名等信息后,显示学生在成绩单中的位 置及所有信息。b. 添加学生成绩,在学生成绩单的指定位置添加学生成绩信息。c. 修

2、改学生成绩,在学生成绩单中,修改指定学生的成绩信息。d. 删除学生成绩,在学生成绩单中,删除指定学生的成绩信息。e. 保存文件。当学生成绩单发生添加、修改、删除等变化后,都要对最 终结果进行保存。数据结构数据结构学生成绩可以用单链表存储,方便随时插入和删除学生成绩记录,实现动 态管理。一个学生作为一个结点。使用链表的基本算法实现学生成绩单的各项管理功能。设计与实现设计与实现学生成绩信息管理功能模块学生成绩信息录入学生成绩信息插入学生成绩信息修改学生成绩信息删除学生成绩信息显示学生成绩信息查询学生成绩信息读取学生成绩信息保存成绩信息管理系统具体分为两个模块:数据类和功能类。数据类包括学生 的姓名

3、、学号及成绩等信息。通过对学生信息管理系统的功能分析,可以定义 出系统的总体功能结构模块图,如上图所示。当用户运行该系统后可以来进行 学生信息信息(录入)插入管理、学生信息修改管理、学生信息删除管理、学 生信息显示管理及学生信息显示等操作。根据功能需求的结果分析,主界面应 该由学生信息录入管理、学生信息插入管理、学生信息修改管理、学生信息删 除管理、学生信息显示管理和学生信息信息查询管理组成,可以通过输入相应 的数字进入相应的功能模块。在本系统中需要编码实现的主要有学生信息录入、学生成绩信息插入、学 生成绩信息查询、学生成绩信息修改、学生成绩信息删除和学生成绩信息输出 等 6 个功能模块,以及

4、学生信息的文件存储与读取功能。学生成绩信息录入模块:添加的信息包括姓名、学号及各科成绩。实际流 程为开始输入学生信息调用类成员函数采用单链表保存数据结束。代码如下:void Function:Add() /录入学生信息函数char name64;char no20; Class score;char choose; Student *f1,*p; f1=Student_First;while(f1-Next)f1=f1-Next; do p=new Student;coutname;coutno;coutscore.Computer;coutscore.Math;coutscore.Engli

5、sh;coutscore.Pe;coutscore.Music;p-Set(name,no,score);f1-Next=p; p-Next=NULL;f1=f1-Next;coutchoose;while(choose=y|choose=Y);Save();Menu();学生成绩信息插入模块:输入一个存在的学号作为插入位置,在其后插入 的信息包括姓名、学号及各科成绩。流程为开始输入学生学号以学号为插 入位置,在其后插入信息调用类成员函数采用单链表保存数据结束。代码如下:void Function:Insert() char name64;char no20; Class score;Stud

6、ent *f1,*p; f1=Student_First;p=new Student;coutno;while(f1)if(strcmp(f1-GetNo(),no)=0) break;f1=f1-Next; coutname;coutno;coutscore.Computer;coutscore.Math;coutscore.English;coutscore.Pe;coutscore.Music;p-Set(name,no,score);p-Next=f1-Next;f1-Next=p;Save();coutno;while(temp)if(strcmp(temp-GetNo(),no)=

7、0) coutOut();coutname; coutno;coutscore.Computer; coutscore.Math;coutscore.English;coutscore.Pe;coutscore.Music;temp-Set(name,no,score);break;temp=temp-Next; Save();coutchoose;if(choose=1) Menu();else Modify();学生成绩信息删除模块:当选择删除功能时,输入要删除的同学的学号, 如果该同学存在,进行删除操作。代码如下:void Function:Delete() /删除学生信息函数 char

8、 no20;char choose;Student *temp,*p;p=temp=Student_First;coutno;while(temp) if(strcmp(temp-GetNo(),no)=0) p-Next=p-Next-Next;delete temp;coutNext; Save(); coutchoose; while(choose!=1if(choose=1)Menu(); else if(choose=2)Delete(); 学生成绩信息显示模块:从单链表表头遍历整个单链表,将所有数据输出。代码如下:void Function:Show() Student *temp

9、;char choose;int i=1;temp=Student_First-Next; if(!temp) Menu(); elsecoutOut();temp=temp-Next;i+;coutchoose;Menu(); 学生成绩信息查询模块:具体流程为开始输入要查找的学号输出对应 的学生信息。代码如下:void Function:Search() char choose; char t220;Student *temp=Student_First-Next; coutt2;while(temp)if(strcmp(t2,temp-GetNo()=0) break;temp=temp-

10、Next; coutOut();coutchoose;if(choose=1) Menu(); else if(choose=2) Search(); 文件的读取和存储读取代码:void Function:Read() /读取学生信息函数Student *p,*p2;p=Student_First; ifstream is(“Student.txt“,ios:in); if(!is) ofstream os(“Student.txt“,ios:out); os.close(); return ;while(!is.eof() p2=new Student; p2-Infile(is);p-Ne

11、xt=p2; p2-Next=NULL; p=p-Next;存储代码:void Function:Save() /保存学生信息函数ofstream of(“Student.txt“,ios:out); Student *p=Student_First-Next; while(p)p-Ofile(of); p=p-Next; of.close();测试与结论测试与结论测试环境:硬件环境:处理器 Intel(R) Core(TM) i5-2410M CPU 2.30GHZ 2.30GHZ;安 装内存:2.00GB软件环境:操作系统:windows 7 调试环境:C Free5.0运行结果:1、主界

12、面2、学生信息录入3、学生信息插入4、学生信息修改5、学生信息显示6、学生信息查询7、学生信息删除总结与思考总结与思考在这次专题设计中,我们小组采用了“低耦合、高内聚”的模块化处理方 法,将程序主体分为功能类和数据类两部分,程序可读性强,易于查找错误, 方便修改。考虑到实际操作需要,在程序中,本小组还添加了 show 函数以显 示全部学生信息,方便查看。程序实现了内存和文件中数据的同步储存和修改。 由于小组水平有限,程序仍存在许多不足,如未能对非法输入信息的判别和处 理操作以及数据输出后的美观程度仍有欠缺等。课程总结课程总结在本次课程设计过程中,曾遇到过不少问题,单靠一个小组的努力,很难按时完

13、成该课程设计,在设计过程中,我们查询了大量关于学生信息管理系统的文献及网络资料,一遍又一遍的纠错及修改使我们小组的每个成员在知识和能力上都有了很大提升。通过这次数据结构课程设计的实验,在解决问题的过程中,充分体会到了数据结构这门课程对于软件设计的重要性,也体会到了数据结构+算法=程序这句话的真正含义,一个实际问题的解决第一步就是要依赖于良好的抽象思维的,将实际问题转化为相应的数据结构,只有这一步做好了,才能采取相应的算法和优化方法解决问题和解决好问题。附录附录 1小组成员名单:周浩天(1120121365)吴旭晨(1120121358)熊威博(1120121359)郝鑫 刚()王俊博(1120121355)魏鑫(1120121357)林晟威()附录附录 2程序源代码#include #include #include#includestruct Class int Computer;int Mat

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号