课 程 设 计 报 告 课程名称: 电子通讯录的制作 班 级: f3454545 学 号: 1234566776888 姓 名: xxxx 完成日期: 2010-7-13 电子通讯录的制作 1概要设计 (1)问题描述 使用单链表实现通讯录管理系统得实现,通过使用单链表申请内存空间来达到存储通讯录信息的目的。程序主要的功能包括通讯录的创建、插入、删除、打印等操作。 (2)基本要求 1、每条信息至少包含 :姓名(name)、电话(telephone)、街道(street)、城市(city)、邮编(eip)、国家(state)这几项; 2、作为一个完整的系统,应具有友好的界面和较强的容错能力; 3、利用单链表作为存储结构 4、上机能正常运行 (3)概要设计 为达到设计要求,本程序采用单链表对通讯录信息进行存储。 功能模块: 通讯录管理系统程序主要包括五个主要的功能模块: 1 .通讯录的创建:对姓名和地址等信息的创建; 2 .通讯录的插入:对姓名和地址等信息的插入; 3 .通讯录的查询:输入查询的姓名查找相关信息; 4 .通讯录的删除:输入删除的姓名,删除相关信息; 5 .通讯录的显示:对姓名和号码等信息的显示; 1 系统总的功能图如下图2.1所示: 图2.1功能模块图 2详细设计 数据结构定义: typedef struct ENode { int num; char Add;//地址 char Name;//名字 char telephone;//电话号码 struct ENode *next; }ENode,*ENoteBook; 2 流程图: (1)通信录的创建: 如图2.2所示 开始输入添加的姓名是否存在该姓名输入姓名输入号码否是否继续输入否结束是是 图2.2通讯录创建流程图 总结:通讯录的添加主要是对姓名和地址的添加,通过主函数调用CreatList函数来创建通讯录信息。 3 (2)通讯录的插入: 如图2.3所示 开始输入插入的姓名是否存在该姓名显示不存在该姓名否输入新的姓名和号码是是否继续修改是结束否 图2.3通讯录插入流程图 总结:通讯录的插入主要是对姓名和地址的插入,通过主函数调用InsertNoteBook函数来插入通讯录信息。 4 部分代码: void Checkmember(ENoteBook &L)//按名字查找函数 { char str[MAX];ENoteBook Q; printf("请输入你要查找的名字\n"); gets(str); gets(str); if (L->next==NULL) {printf("空链表\n"); }Q=L->next; while(Q!=NULL) { if (strcmp(str,Q->Name)==0) { puts(Q->Name);puts(Q->Add);puts(Q->telephone);break; } else Q=Q->next; } if (Q==NULL) { ...