线性表通讯录实验Word格式文档下载.docx
- 文档编号:16076405
- 上传时间:2022-11-18
- 格式:DOCX
- 页数:46
- 大小:196.84KB
线性表通讯录实验Word格式文档下载.docx
《线性表通讯录实验Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《线性表通讯录实验Word格式文档下载.docx(46页珍藏版)》请在冰豆网上搜索。
③查询通讯录中满足要求的信息:
可以根据不同方式查询,如按姓名查询、按姓氏查询、按编号查询等。
④新增通讯录信息:
每次可添加一个新成员的通讯
】、录信息。
⑤修改通讯录信息:
修改通讯录中已有成员的信息。
删除通讯录成员:
删除通讯录表中已有的成员,但需要把删除的成员信息放到另一张被删成员表中,以便错误操作后允许恢复。
该被删成员表要求采用链式存储。
⑦恢复被删成员信息:
一旦发现误删,则可以在被删成员表中找到该成员,重新加入到通讯录表中。
系统实现要求:
通讯录表必须使用动态分配顺序存储结构,被删成员表必须使用链式存储结构。
②通讯录信息至少包括:
编号、姓名、电话1、电话2、邮箱等,其他可自行设置。
③用菜单方式选择相应功能,且各功能的有关操作需通过调用各函数来实现,如:
初始化通讯录表用函数voidInitAddressBook(SqList&
TXL)、浏览所有通讯录成员函数BrowseAddressBook(SqListTSL)等等,将这些子函数放在头文件test3_Seq.h中。
③建立主函数文件test3.cpp,通过调用上述头文件中的函数来实现该系统。
④给出系统数据类型的定义、存储结构定义以及各个函数之间的调用关系。
⑤实验内容中设置的功能要求必须实现,此外可自行增加合适的功能,可作为额外的实验成绩进行加分:
例如:
●通讯录和被删成员数据可用文件保存,程序运行时可从文件读入相应数据,程序结束时可写入文件保存。
●通讯录分组,可自行考虑把通讯录成员进行分组,如同学组、亲戚组、同事组等。
2、以小组为单位认真填写实验报告,实验报告必须包括各类数据类型的结构定义说明,各类数据的组织方式,系统的功能结构,各个操作的定义以及实现方法,运行结果与分析,难点如何解决,存在问题以及可改进之处等。
同时,在实验报告中需写明小组每位同学的分工,得分(小组总分不超过12分)等。
实验报告文件取名为report3.doc。
每组还必须制作一个答辩PPT,该PPT的命名为PPT_通讯录管理系统_(各小组成员名字).PPT。
3、每位组长上传实验报告文件report3.doc、源程序文件test3.cpp及test3_Seq.h、test3_Link.h,以及答辩PPT压缩打包后到BB平台上。
小组分工:
陈正融
程序设计
1、抽象数据类型
ADTSqlist
{数据对象:
D={ai|aiElemSet,i=1,2,3,……,n,n≥0}
数据关系:
R1={<
ai-1,ai>
|ai-1,ai∈D,i=1,2,3,……,n}
基本操作:
(1)intnewContactPerson(Sqlist&
S)
//输入函数
(2)intSearchContacts(Sqlist&
S,LinklistL)
//查询函数
(3)intOper_updata(Sqlist&
//修改函数
(4)intOper_detele(Sqlist&
//删除函数
(5)intInitList_Sq(Sqlist&
//初始化函数
(6)intsort_Sq(Sqlist&
S,Contactsi)
//排序函数
(7)intDestoryList_Sq(Sqlist&
//销毁函数
ADTLinklist
(1)intinsert_L(LinklistL,Contactsi,Sqlist&
(2)intInitList_L(Linklist&
L)
(3)intBrowselist(LinklistL)
//显示函数
(4)intremoveContact(LinklistL,Sqlist&
//恢复函数
(5)intDestoryList_L(Linklist&
2、存储结构
typedefstruct
{
intno;
//编号
charname[20];
//信息
chartel_1[20];
//电话1
chartel_2[20];
//电话2
charEmail[50];
//邮箱
chargroup[20];
//分组信息
}Contacts;
Contacts*elem;
intlength;
intlistsize;
}Sqlist;
typedefstructNode{
Contactsdata;
structNode*next;
}LNode,*Linklist;
intnum;
//分组序号
chargroname[20];
//分组名
}grouping;
grouping*gr;
}grolist;
3、函数定义
voidmain_menu()//菜单
intInitList_Sq(Sqlist&
S)//顺序表初始化
intInitList_gro(grolist&
G)//分组表初始化
intDestoryList_Sq(Sqlist&
S)//通途录销毁
intDestoryList_Gro(grolist&
G)//分组表销毁
intin_Seq(Sqlist&
S,Contactsa,inti)//本地输入处理
intzero_Sq(Sqlist&
S)//通讯录本地输入
intzero_Gro(grolist&
G)//分组表本地输入
intout_Seq(Sqlist&
S,Contactsa,inti)//通讯录输出处理
intprinttotxt_Sq(Sqlist&
S)//通讯录输出
intprinttotxt_Gro(grolist&
G)//分组表输出
Contactshandle(Sqlist&
S,Contactsi)//新建信息处理
intsort_Sq(Sqlist&
S,Contactsi)//排序
intnewContactPerson(Sqlist&
S)///新建联系人
intnewGro(grolist&
G)//新建分组
intContactdetails(Sqlist&
S,intno)//显示联系人详情
intDelete_Sq(Sqlist&
S,LinklistL,inti,intj)//删除联系人
intDelete_Gro(grolist&
G,Sqlist&
S)//删除分组
intupdata_Sq(Sqlist&
S,LinklistL,intno)//修改联系人
intBrowseContacts(Sqlist&
S)//显示联系人
intBrowseGro(grolist&
G)//显示分组
intOperation_2(Sqlist&
S,LinklistL,intno)//查询后操作
intfind_out(Sqlist&
S,inti,intj)//查询输出处理
intfindContact(Sqlist&
S,intno[],charna[])//查询输出
intBrowseGroCon(Sqlist&
S,charna[],intk[20])//显示分组联系人
intSearchContacts(Sqlist&
S,LinklistL)//查询联系人
intjoingro(grolist&
S,inti,intj)//分组加入联系人
intOper_updata(Sqlist&
S,LinklistL)//修改联系人
intOper_detele(Sqlist&
S,LinklistL)//删除联系人
intOperation_Gro2(Sqlist&
S,grolist&
G)//分组综合操作
intupdataGroname(grolist&
S)//修改分组名
intOperation_Gro(grolist&
S)//分组操作
intDestory(Sqlist&
S,LinklistL,grolist&
G)//销毁
intInitList_L(Linklist&
L)//初始化链表
intDestoryList_L(Linklist&
L)//销毁链表
intBrowselist(LinklistL)//显示误删表联系人
intin_link(Linklistp)//本地输入修改
intzero_Link(LinklistL)//本地输入
intout_Link(Linklistp)//本地输出修改
intprintotxt_link(LinklistL)//本地输出
intinsert_L(LinklistL,Contactsi,Sqlist&
S)//插入联系人
intsort_Link(Sqlist&
S,Contactsi)//恢复联系人排序
intremoveContact(LinklistL,Sqlist&
S)//恢复联系人
4、程序描述
本通讯录所有的操作都是基于联系人的编号,未避免编号出错,采用自动编号。
主界面直接显示通讯录联系人和操作选项,可直接通过编号进行操作。
也可以先查找联系人,然后再进行修改,删除操作。
支持本地保存和读取,模糊查找,插入排序
5、实验结果
1、主菜单
2、添加联系人
3、查询联系人
4、修改联系人
5、联系人分组
6、删除联系人
7、恢复删除联系人
6、代码
主函数
#include<
stdio.h>
string.h>
math.h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性 通讯录 实验