通讯录管理系统(C语言)—单链表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;