C++课程设计 单链表-学生信息管理系统_第1页
C++课程设计 单链表-学生信息管理系统_第2页
C++课程设计 单链表-学生信息管理系统_第3页
C++课程设计 单链表-学生信息管理系统_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学生信息管理系统设计文档设计任务描述为了实现学籍管理的简单化,我们基于VisualC++集成开发环境编写了“学生信息管理系统”软件,该软件适用于所有windows操作系统,面向广大用户,界面简洁,操作简单。此软件主要是实现对学生学籍信息进行系统化的管理,可以对学生基本信息进行添加、删除、查找、修改以及对学生成绩的管理,主要是根据学生的学号及其姓名进行操作的。该软件可以更加方便管理者管理学生学籍信息。功能需求说明该系统所需要的功能有:1、链表的建立;2、学生信息的插入;3、学生信息的查询;4、学生信息的输出;5、学生信息的修改;6、学生信息的删除;7、良好的欢迎选择界面。三、总体方案设计一、实现任务的方法1、在欢迎选择界面中,使用Switch这一选择结构来连接程序的执行和用户的命令;2、在从学生信息的建立直到删除,都是使用链表的相关知识;3、在定义学生信息时,建立一个Inform类;在定义学生课程成绩时,自定义了一个achieve结构体;总体结构三、模块划分(1)链表的建立。(2)对链表信息的插入。(3)对链表信息的查找。(4)对链表信息的输出。(5)对链表信息的删除。(6)对链表信息的修改。课程成绩信息作为附加信息,穿插于各个模块中。数据结构说明一、自定义的数据结构:1、achieve(课程成绩)用于存放课程成绩信息包括课程数、课程名、成绩、学分、总分和平均分。2、inform(学生基本信息)用于存放学生基本信息,包括姓名、学号、性别等。3、结点结构-Nodetype,定义了数据域inform和指针域next;二、类Student用于存放处理学生信息的各个功能函数,private成员是链表的头指针。各模块设计说明一、建立:首先:建立一个空链表:Student::Student(){head=newNodetype;head->next=NULL;表明这是一个空链表cout<<"请建立链表\n";}然后建立链表:二、添加:按照学号从小到大的顺序插入:三、输出:将链表的数据输出,由于上述操作,输出时会按照学号从小到大的顺序输出。四、查找:利用学号和姓名两种方式进行查找,查找时主要是遍历链表进行判断while(p!=NULL&&(d==1&&strcmp(input,p->data.num)!=0)||(d==2&&strcmp(input,p->)!=0)){p=p->next;}//遍历链表查找符合要求的节点五、删除:利用节点的删除操作,找到链表中第i-1个结点,修改其指向后继的指针:q=p->next;p->next=q->next;delete(q);六、更改:利用查找的操作,查到后在进行重新输入的操作;测试情况说明测试一:学生信息的输入和输出都正常,但是查找、删除和修改时都只能对第一个数据进行操作,如下图所示:但是当要进行查找、删除、修改操作时,系统只能对第一个对象进行操作查看程序时,发现查找函数、删除和修改函数都有个逻辑错误全部修改后,程序的上述错误就没再出现了。错误二:当提示是否输入课程成绩信息时,输入第一门课程名时,会出现无穷循环但当输入第一门课程后就会出现下图所示状况:对于这种状况,我百思不得其解,后来请教其他同学,他告诉我错误在于声明课程成绩信息时出错了应该为二维数组,修改之后,课程成绩输入输出便正常了错误三:输入学生信息时不按照学号大小顺序,输出结果时也不按照从小到大的顺序输出。如下图所示后来查看程序,发现插入函数(insert)中判断新插入的数据的位置时出现问题应该为strcmp(p->data.num,x.num)<0;之后输出正确了!评价和改进意见(1)不足:=1\*GB3①程序可能存在冗杂之处。=2\*GB3②软件功能有限。=3\*G

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论