通讯录管理系统(C语言)—单链表

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广州大学物理与电子工程学院

程序与设计训练

通讯录管理系统实验报告

专业班级:电子121

设计人员:元达鹏

学号:65

2013年6月24日

通讯录管理系统

一.需求分析

设计题目及需求:

(1)查看功能:选择此功能时,列出下列三类选择。A 办公类 B 个人类 C 商务类,当选中某类时,显示出此类所有数据中的姓名和电话号码)

(2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选项有:A 办公类 B 个人类 C 商务类)、电子邮件。例如:杨春商务类

(3)当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。

(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改

(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。

系统功能需求分析:

主要包含以下几种功能:

1.建立通讯录(建立功能)

2.删除通讯人(删除功能)

3.保存通讯录(保存功能)

4.读取通讯录文件(读取功能)

5.查找通讯人(查找功能)

6.添加通讯人(添加功能)

7.修改通讯人信息(修改功能)

8.退出通讯录系统

二.概要设计

系统功能模块图:

建立功能:在主菜单中输入1,进入建立功能。用户自己输入通讯录文件名,建立一个新的通讯录,便开始输入信息,一旦想结束添加,在输入姓名处输入“*”结束录入。(当录入相同的姓名和电话时,系统会告

诉你已经重复录入)

删除功能:在主菜单中输入2,进入删除功能。用户输入待删除人的姓名,系统会自动显示待删除人的信息,并且提示是否删除该通讯人。(当输

入的姓名不存在的时候,系统会告诉你此人不存在)

保存功能:在主菜单中输入3,进入保存功能。将你已经写好的通讯录保存在建立时创建的文件里面。(当保存成功后,系统会告诉你保存成功)

读取功能:在主菜单中输入4,进入读取功能。读取一个任意一个已经存在的文件,用户可以输入想要读取的文件,一旦文件读取成功,系统会告诉你文件读取成功。

查找功能:在主菜单中输入5,进入查找功能。查找方式有三种:1. 按姓名查

找 2. 按类型查找 3. 查看所有人

添加功能:在主菜单中输入6,进入添加功能。在还没有读取或者建立一个新的通讯录的时候,添加功能是无效的,系统会告诉你请你先新建立

一个通讯录或者先读取通讯录文件。进入添加功能以后,可以按提

示添加通讯人信息。

修改功能:在主菜单中输入7,进入修改功能。在还没有读取或者建立一个新的通讯录的时候,修改功能也是无效的,系统会告诉你请你先新建

立一个通讯录或者先读取通讯录文件。修改功能是和删除功能一

样,也是通过姓名进行查找的。

退出功能:在主菜单中输入8,退出通讯录管理系统。

三.详细设计

(1)通讯录

#define ID struct tel 建立通讯录\n");

printf("\t 2. 删除通讯人\n");

printf("\t 3. 保存通讯录\n");

printf("\t 4. 读取通讯录文件\n");

printf("\t 5. 查找通讯人\n");

printf("\t 6. 添加通讯人\n");

printf("\t 7. 修改通讯人信息\n");

printf("\t 8. 退出通讯录系统\n");

printf("\t\t\t\t\tMade by 元达鹏\n");

printf("2.类别\n");

printf("3.所有人\n");

scanf("%d",&num); ",count);

count++;

printf("姓名:%s\t电话号码: %s\t类型:%s\t邮箱:%s\n",p->name,p->tele,p->style,p->mail);

flag=1; ",count);

count++;

printf("姓名:%s\t电话号码: %s\t类型:%s\t邮箱:%s\n",p->name,p->tele,p->style,p->mail);

flag=1; ",count);

count++;

printf("姓名:%s\t电话号码: %s\t类型:%s\t邮箱:%s\n",p->name,p->tele,p->style,p->mail);

p=p->next; .\n");

getch(); 建立通讯录\n");

printf("\t 2. 删除通讯人\n");

printf("\t 3. 保存通讯录\n");

printf("\t 4. 读取通讯录文件\n");

printf("\t 5. 查找通讯人\n");

printf("\t 6. 添加通讯人\n");

printf("\t 7. 修改通讯人信息\n");

printf("\t 8. 退出通讯录系统\n");

printf("\t\t\t\t\tMade by 元达鹏\n");

printf("\t # # # # # # # # # # # # # # # # # # # # # #\n");

printf("\n\n");

scanf("%d",&choice); //输入功能

getchar(); //吸收回车键

switch(choice)

{

case 1:

head=Create(); //创建

j=1; //让功能7可以进得去

break;

case 2:

head=Delete(head); //删除

break;

case 3:

Save(head); //保存函数

break;

case 4:

head=Read(); //读取文件的函数

j=2; //让功能7可以进得去

break;

相关文档
最新文档