1、 课程设计课程设计报告报告 姓名 班级 学号 课程设计信息课程设计信息 课程名称 C C 语言语言 课程设计题目 通讯管理系统通讯管理系统 课程设计时间 成绩 评阅教师 20112012 学年第学年第一一学期学期 课程设计报告名称课程设计报告名称 一、一、课程设计内容课程设计内容 通讯录管理系统通讯录管理系统 具体要求如下:具体要求如下: 1 1、建立通讯录信息,信息至少包括编号、姓名、年龄、电话、通讯地址、电子、建立通讯录信息,信息至少包括编号、姓名、年龄、电话、通讯地址、电子 邮箱等内容;邮箱等内容; 2 2、 能够提供添加、删除和修改通讯录信息等功能;能够提供添加、删除和修改通讯录信息等
2、功能; 3 3、能够提供按照不同方式查询的功能,如按姓名或年龄、电话查询;、能够提供按照不同方式查询的功能,如按姓名或年龄、电话查询; 4 4、 能将通讯录保存在文件中;能将通讯录保存在文件中; 5 5、 能够按表格方式输出通讯录信息。能够按表格方式输出通讯录信息。 二、二、课程设计目的课程设计目的 1 1、为存储通讯录信息,需定义一个结构体类型,成员包括编号、姓名、年龄、为存储通讯录信息,需定义一个结构体类型,成员包括编号、姓名、年龄、 电话、通讯地址、电子邮箱等,并建立链表,定义该结构体类型的指针,用于电话、通讯地址、电子邮箱等,并建立链表,定义该结构体类型的指针,用于 指向各结点;指向各
3、结点; 2 2、分别建立具有添加、删除、修改、查询等功能的子函数,完成相应功能,、分别建立具有添加、删除、修改、查询等功能的子函数,完成相应功能, 对程序实现模块化。这其中要用到对链表的删除、插入等知识。删除时用一结对程序实现模块化。这其中要用到对链表的删除、插入等知识。删除时用一结 构体指针指向链表的第一个结点,检查该节点的值是否等于输入的要删除的学构体指针指向链表的第一个结点,检查该节点的值是否等于输入的要删除的学 号,若相等就删除,不相等则后移指针,直至表尾。插入时也要先找到相应结号,若相等就删除,不相等则后移指针,直至表尾。插入时也要先找到相应结 点,再添加。查询功能要设置点,再添加。
4、查询功能要设置姓名、编号、地址等多种方式。姓名、编号、地址等多种方式。 3 3、为实现存储功能,需用到文件的相关函数,打开文件,将添加、修改或删除、为实现存储功能,需用到文件的相关函数,打开文件,将添加、修改或删除 的信息存入磁盘中。的信息存入磁盘中。 4 4、为以表格的形式输出文件,宏定义格式化输出语句,用横线和竖线构成表格、为以表格的形式输出文件,宏定义格式化输出语句,用横线和竖线构成表格 三、算法的基本思想三、算法的基本思想 系统总体设计框架:系统总体设计框架: 对程序进行模块化,建立添加、修改、删除、查找和显示功能的子函数,对程序进行模块化,建立添加、修改、删除、查找和显示功能的子函数
5、, 各子函数中运用链表存储数据。从主函数开始执行,调用各个子函数,并运用各子函数中运用链表存储数据。从主函数开始执行,调用各个子函数,并运用 文件相关知识将信息存入磁盘中。文件相关知识将信息存入磁盘中。 系统功能模块图系统功能模块图: 详细设计详细设计 主要功能模块的算法设主要功能模块的算法设计思路如下:计思路如下: 1 1、添加信息函数(、添加信息函数(void Add(Link l)void Add(Link l)) (1 1)定义指向结构体变量的指针;)定义指向结构体变量的指针; (2 2)移动指针,找到插入结点;)移动指针,找到插入结点; (3 3)在要插入的结点输入信息;)在要插入的
6、结点输入信息; (4 4)调用保存函数,打开文件,保存输入信息。)调用保存函数,打开文件,保存输入信息。 2 2、修改信息函数(、修改信息函数(void Modify(Link l)void Modify(Link l)) (1 1)定义指向结构体变量的指针;定义指向结构体变量的指针; (2 2)用指针检验链表中是否有记录,若没记录,返回主函数;)用指针检验链表中是否有记录,若没记录,返回主函数; (3 3)根据要修改的编号查找对应结点;)根据要修改的编号查找对应结点; (4 4)修改信息;)修改信息; (5 5)打开文件,保存修改记录。)打开文件,保存修改记录。 3 3、删除信息函数(、删除信息函数(void Del(Link l)void Del(Link l)) (1 1)定义指向结构体变量的指针;定义指向结构体变量的指针; (2 2)用指针检验链表中是否有记录,若没记录,返回主函数;)用指针检验链表中是否有记录,若没记录,返回主函数; (3 3)根据要