1、 选题选题 2 名称:名称: 同学录同学录系统系统 目目 录录 一、 课题目标 1.1 程序功能简介 1.2 课程设计要求 1.3 评定难易级别 二、 具体实现 2.1 程序总体方案 2.1.1 开发平台 2.1.2 程序结构或流程图 2.2 关键代码及注释 三、 程序截图 四、 调试报告 (在设计和实现过程所遇到的问题和解决,请如实填写) 五、 总体小结 (在整个设计过程中的心得体会) 六、 分工介绍 (是独立完成还是合作完成,若为合作完成,说明合作者以及之间的具 体分工) 2 一、课题目标一、课题目标 1.1 程序功能简介程序功能简介 此程序是一个简单的同学录系统,具有导入同学信息,存储,
2、显示、新增、删除、 查询、修改同学信息等功能,最主要的是,它是用双向链表实现的,所以新增和删除的 效率非常的高。 其菜单分为:显示所有同学录信息、新增一个同学录信息、删除一个同学录信息、 查询系统、修改同学录信息,寻求帮助等。 1.2 课程设计要求课程设计要求 用双向链表完成一个同学录系统 实现同学录所该有的功能,并方便用户的使用! 3 1.3 评定难易级别评定难易级别 A 组 二、具体实现二、具体实现 2.1 程序总体方案程序总体方案 2.1.1 开发平台开发平台 操作系统:Windows 7 开发工具:visual studio 2010 2.1.2 程序结构或流程图程序结构或流程图 主函
3、数的流程图: 4 开始 读入 TXT 欢迎界面 显示菜单 新 增 信 息 显 示 所 有 删 除 操 作 寻 求 帮 助 退 出 修 改 系 统 查 询 系 统 姓 氏 查 询 缺 省 查 询 记 忆 查 询 返 回 是 否 先 查 询 储存入 TXT 5 2.2 所做改进所做改进 2.2.1 改进一改进一 2.2.1.1 改进方案 基本上这个程序都是自己写的,改进也只是对原有要求的添加而已。 先说说这个程序怎么实现所有功能的吧。 2.2.1.2 具体实现 进入程序,首先是读取 txt 文件的信息,然后显示的是菜单。再然后一目了 然的有各种功能。 总体是用双向链表做的。 新增结点信息:即添加一
4、个链表结点信息。 显示所有信息:是先根据学号排序,然后从头至尾分屏显示所有信息,链表依次 读取。 删除操作: 即链表操作,删除一个结点. 查询操作: 按要求进行各种情况查询,总体思想是线性的比较,如果有匹配 的字符串就输出(这里面用的是 string.find 函数) 。 修改同学录: 先根据查找操作找到这个信息,再修改当前结点信息 寻求帮助: 作为一些运用该程序的说明而存在。可以对用户一些较常见的疑 问做出回答。 退出程序: 退出前会保存所有的信息至 txt 文件。 2.2.2 改进二改进二 2.2.2.1 改进方案 为了使我的查询更完善,我的程序做到了部分字符串匹配的查询方式,即比 如在输入姓名查询的时候,如果输入的是姓名的姓或者名,那么与之匹配的所有 信息都会显示,而不是显示结果不存在。 同样的,还可以根据自己一开始对该同学的评价做查询。 另外,我设置了帮助选项,可以为用户解答很多常见的疑问。可以方便用户。 2.2.2.2 具体实现 运用 STL string类里面的 find( )函数; 把我的成员全都定义成 string 类的, 最 后再让用户输入所需查