一、 设计题目(问题)描述和要求
某一中学,现在需要建立学生通讯录管理系统,以管理学生信息。 要求:
(1) 可以录入新的通讯信息(包括姓名,通讯地址,邮编,联系电话等) (2) 可以按照姓名进行查询相关信息 (3) 可以修改相关信息 二、 系统分析与概要设计
根据问题描述和要求,系统要求能够按姓名查找、增加、删除和保存各学生的信息。确定程序应该具备如下功能:“查询学生信息”、“增加学生信息”、“修改学生信息”“删除学生信息”、“数据存盘”基本模块。
系统可以将学生信息数据保存到磁盘文件student.txt,从而可以通过磁盘文件读出学生数据信息,为了便于统计在生成学生信息时同时生成学生编号,这样每输入一个学生信息编号顺序加1,这样也方便了管理员查询学生信息。 三、 详细设计和编码 1. 数据类型定义
根据系统要求,可以将姓名和邮编和联系电话通讯地址定义为字符型。 2. 各模块算法描述
查询学生信息: Que_name()输入要查询的学生姓名,比较名字与保存的信息是否相同,
若相同则查找到,否则,没查找到。
增加学生信息: Add()输入要添加的学生信息并保存。
删除学生信息: Del()输入要删除的学生姓名,若与数据相同则删除,否则输出查找不
到该信息。
修改学生信息: Mod()输入要修改的学生姓名,输入要修改的信息,并确认。 数据存盘: Sav()创建文件,将信息写入文件。 3. 程序关键算法流程图
(1)主函数流程
开始创建学生对象显示菜单接受输入根据输入执行学生操作N退出Y结束
(2) 某操作算法流程
Student:: Add()
开始学号增加1输入学生通讯地址 联系电话 邮编号创建学生结点学生结点加入链表结束
(3) Student:: Del()
开始输入学生学号查找要删除的结点结点存在解除学生结点提示未找到结束 4) Student:: Mod()
开始输入学生学号查找学生结点结点存在修改结点提示未找到结束 (5) Student:: Que_name()
开始输入学生姓名浏览学生信息 查找结点结点存在浏览学生信息提示未找到结束 (6) Student:: Sav()