C++课程设计单链表——学生信息管理系统

上传人:re****.1 文档编号:444527047 上传时间:2024-01-21 格式:DOC 页数:8 大小:535KB
返回 下载 相关 举报
C++课程设计单链表——学生信息管理系统_第1页
第1页 / 共8页
C++课程设计单链表——学生信息管理系统_第2页
第2页 / 共8页
C++课程设计单链表——学生信息管理系统_第3页
第3页 / 共8页
C++课程设计单链表——学生信息管理系统_第4页
第4页 / 共8页
C++课程设计单链表——学生信息管理系统_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《C++课程设计单链表——学生信息管理系统》由会员分享,可在线阅读,更多相关《C++课程设计单链表——学生信息管理系统(8页珍藏版)》请在金锄头文库上搜索。

1、学生信息管理系统设计文档一、 设计任务描述为了实现学籍管理的简单化,我们基于Visual C+ 集成开发环境编写了“学生信息管理系统”软件,该软件适用于所有windows 操作系统,面向广大用户,界面简洁,操作简单。此软件主要是实现对学生学籍信息进行系统化的管理,可以对学生基本信息进行添加、删除、查找、修改以及对学生成绩的管理,主要是根据学生的学号及其姓名进行操作的。 该软件可以更加方便管理者管理学生学籍信息。二、 功能需求说明该系统所需要的功能有:1、链表的建立;2、学生信息的插入;3、学生信息的查询;4、学生信息的输出;5、学生信息的修改;6、学生信息的删除;7、良好的欢迎选择界面。三、总

2、体方案设计一、实现任务的方法1、在欢迎选择界面中,使用 Switch 这一选择结构来连接程序的执行和用户的命令;2、在从学生信息的建立直到删除,都是使用链表的相关知识;3、在定义学生信息时,建立一个 Inform 类;在定义学生课程成绩时,自定义了一个 achieve 结构体;二、总体结构三、模块划分( 1)链表的建立。( 2)对链表信息的插入。( 3)对链表信息的查找。( 4)对链表信息的输出。( 5)对链表信息的删除。( 6)对链表信息的修改。课程成绩信息作为附加信息,穿插于各个模块中。三、 数据结构说明一、自定义的数据结构:1、achieve (课程成绩)用于存放课程成绩信息包括课程数、

3、课程名、成绩、学分、总分和平均分。2、inform (学生基本信息) 用于存放学生基本信息, 包括姓名、学号、性别等。3、结点结构 -Nodetype, 定义了数据域 inform和指针域 next;二、类Student 用于存放处理学生信息的各个功能函数, private 成员是链表的头指针。四、 各模块设计说明一、建立:首先:建立一个空链表:Student:Student()head=new Nodetype;head-next=NULL; 表明这是一个空链表 coutdata.num)!=0)|(d=2&strcmp(input,p-data.name)!=0)p=p-next;/ 遍历

4、链表查找符合要求的节点五、删除:利用节点的删除操作,找到链表中第 i-1 个结点,修改其指向后继的指针:q = p-next;p-next = q-next;delete(q);六、更改:利用查找的操作,查到后在进行重新输入的操作;五、 测试情况说明测试一:学生信息的输入和输出都正常, 但是查找、删除和修改时都只能对第一个数据进行操作,如下图所示:但是当要进行查找、删除、修改操作时,系统只能对第一个对象进行操作查看程序时,发现查找函数、删除和修改函数都有个逻辑错误全部修改后,程序的上述错误就没再出现了。错误二 :当提示是否输入课程成绩信息时,输入第一门课程名时,会出现无穷循环但当输入第一门课程

5、后就会出现下图所示状况:对于这种状况,我百思不得其解,后来请教其他同学,他告诉我错误在于声明课程成绩信息时出错了应该为二维数组,修改之后,课程成绩输入输出便正常了错误三: 输入学生信息时不按照学号大小顺序,输出结果时也不按照从小到大的顺序输出。如下图所示后来查看程序,发现插入函数(insert)中判断新插入的数据的位置时出现问题应该为 strcmp(p-data.num,x.num)0;之后输出正确了!六、 评价和改进意见(1)不足:程序可能存在冗杂之处。 软件功能有限。 界面为 Dos 界面,比较单调。(2)特点: 运用链表的操作,可以方便地实现对学生信息的操作。基于 Visual C+ 平台工程的建立。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 幼儿教育

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