1、 项目报告书 项目名称:通讯录管理系统设计 学生姓名: 学 号: 班 级: 指导教师: 日期日期 2012.6.21 一、一、课程设计目的课程设计目的 本课程设计让学生通过查询资料自学,将本学期课本上的理论知识和实践结合起 来,为学生提供了一个既动手又动脑,亲身实践的机会。锻炼学生分析编程问题和解 决问题的能力,提高学生查询错误,修改错误及实践编程的能力,使学生对 C+系统 编程有一个更深刻的了解。 二、需求分析二、需求分析 本系统设计者力求根据通讯管理的需要,而建立一个“通讯管理系统” ,以方便对每个 人通讯信息的各项管理操作。开发目的如下:能对通讯录进行录入和修改;能对通讯 录进行添加和删
2、除;能按姓名对通讯录进行查询;能按姓名删除通讯录条目。 三、课程设计的内容及步骤三、课程设计的内容及步骤 1设计说明 (1)定义一个结构体,其中的成员如下: 序号 成员名(字段名) 数据类型 字段含义 1 szName20 char 姓名 2 szMobil15 char 移动电话号码 3 szTel15 char 固定电话号码 4 *szpMenu char 主菜单选项 5 NUM void 人数定义 (2)定义多个函数以实现各个功能: 1)主函数 main():定义通讯处理函数,调用输入、统计等函数对通讯录进行处理; 2)用户选择函数:SelMenuItem():根据用户选择,返回用户选择
3、序号; 3) 创建通讯录函数 CreatAddreBook(): 输入多条通讯录条目, 以姓名项回车作为结束; 4)显示通讯录函数 ShowIternofBook ():显示链表中通讯录的一个结点; 5)查询函数 QuerByName ():按姓名在链表中查询并显示; 6)通讯录修改函数 ModifyItern():在链表中按姓名修改其中的电话号码,不修改则 直接按回车键; 7)通讯录添加函数 AppendItern ():在链表尾部添加新的通讯录条目; 8)删除通讯录条目函数 DeleteItern ():按姓名删除条目; 9)读文件函数 ReadData():从文件中读入数据,并建立链表,
4、写入数据。 (3)预先录入的数据如下表: szName20 szMobil15 szTel15 *szpMenu 兰欣 18254168345 2程序流程图 3部分程序说明: fwrite():文件输出函数 4源程序 /* 班级: 姓名: 学号: /*避免头文件多重包含*/ #include #include #include /*定义通信录数据结构*/ struct AddressBook char szName20; char szMobil15; char szTel15; struct AddressBook *next; ; typedef struct AddressBook AD
5、DRESBOOK; typedef struct AddressBook *PADDRESBOOK; /*主菜单选项*/ char *szpMenu= “1.通讯录创建“, “2.通讯录显示“, “3.通讯录查询“, “4.通讯录修改“, “5.通讯录添加“, “6.通讯录删除“, “7.退出系统“ ; /*主菜单定义选择码定义*/ #define CREATADDREBOOK 0 #define SHOWWADDREBOOK 1 #define QUERNADDREBOOK 2 #define MDOIFADDREBOOK 3 #define APPENADDREBOOK 4 #define
6、 DELETADDERBOOK 5 #define EXITWADDERBOOK 6 /*函数原型声明*/ int SelMenuItem(void); int CreatAddreBook(PADDRESBOOK); PADDRESBOOK ShowItemofBook(PADDRESBOOK); PADDRESBOOK QuerByName(PADDRESBOOK,char *); PADDRESBOOK ModifyItem(PADDRESBOOK,char *); PADDRESBOOK AppendItem(PADDRESBOOK); PADDRESBOOK DeleteItem(PADDRESBOOK,char *); int ReadData(PADDRESBOOK,FILE *); #include “my.h“ void main(void) PADDRESBOOK pHead=NULL; PADDRESBO