{企业管理表格}通讯簿管理顺序表的应用程序.

上传人:精****库 文档编号:138440338 上传时间:2020-07-15 格式:DOC 页数:8 大小:17.10KB
返回 下载 相关 举报
{企业管理表格}通讯簿管理顺序表的应用程序._第1页
第1页 / 共8页
{企业管理表格}通讯簿管理顺序表的应用程序._第2页
第2页 / 共8页
{企业管理表格}通讯簿管理顺序表的应用程序._第3页
第3页 / 共8页
{企业管理表格}通讯簿管理顺序表的应用程序._第4页
第4页 / 共8页
{企业管理表格}通讯簿管理顺序表的应用程序._第5页
第5页 / 共8页
点击查看更多>>
资源描述

《{企业管理表格}通讯簿管理顺序表的应用程序.》由会员分享,可在线阅读,更多相关《{企业管理表格}通讯簿管理顺序表的应用程序.(8页珍藏版)》请在金锄头文库上搜索。

1、3 通讯簿管理(顺序表的应用)【问题描述】通讯簿是一个线性表,可以存储一定数量的联系人记录,提供查找、插入、删除和修改等操作。通讯簿的特点是以查找为主要操作,要求快速查找到指定对象的位置,故宜采用具有随机访问功能的顺序表。【数据结构】使用顺序表SeqList建立通讯簿。作为表项的联系人记录,至少应包括以下属性: 序号,姓名,与本人关系,电话号码其中序号具有唯一性。序号和姓名可作为查找的主要关键字。与本人关系可枚举为“亲人”、“朋友”和“同事”,主要作用是为联系人分组,并作为次要关键字。将上述联系人记录定义为一个结构(struct),在主程序中建立模板类顺序表SeqList的对象时用该结构实例化

2、表结点的类型。【主要功能】程序应为用户提供操作选择界面,必要的操作包括:查找某人电话号码,添加新记录,修改记录,删除记录,打印亲人清单、朋友清单或同事清单以及退出等。另外,为初始化方便,原始数据可存储在磁盘文件中。【主要代码】#include#includestatic n=1;enum RelationFriend,Relative,colleague;templatestruct People char Number10;/编号 char PNumber12;/电话号码 char name20;/姓名 int m;/关系 People( int &ite) m=ite; People(in

3、t &p1,char Name,char P, char item) for(int i=0;i20;i+) namei=Namei; for(int j=0;j11;j+) PNumberj=Pj; for(int k=0;k10;k+) Numberk=itemk; m=p1; ;templateclass SeqListprotected: People *data; int maxSize; int last; void reSize(int newSize);public: SeqList()data=new People; SeqList(T& x)data=new People(

4、x); People *getdata()return data; bool input(); void output(); void tianjia(); void chaxun(); void showall(); void remove(); void xiugai(); void showfriend(); void showrelative(); void showcolleague();template bool SeqList:input() static l;coutdatal.Number; coutdatal.name;coutdatal.PNumber;coutdatal

5、.m;l+;n+;return true;bool deng(char p1,char p2)bool flag=1;for(int i=0;p1i!=0|p2i!=0;i+)if(p1i!=p2i)return flag=0;return flag;template void SeqList:tianjia()this-input();cout信息已保存好!endl;template void SeqList:chaxun()char pr20;cout请输入您要查找的姓名或电话号码:pr;bool flag=1;for(int li=0;lin-1;li+)if(deng(pr,datal

6、i.name)|deng(pr,datali.PNumber)cout#datali.Numbert姓名:datali.namet电话号码:;for(int k=0;datali.PNumberk!=0;k+)coutdatali.PNumberk;coutt;switch(datali.m)case 0:cout朋友tendl;break;case 1:cout亲人tendl;break;case 2:cout同事tendl;break;default: cout关系设置错误!;break; flag=0;if(flag) cout查找失败!endl;void inface() cout e

7、ndl; couttt endl tt * endl tt 通 迅 录 endl tt * endl tt 1. 添加新联系人. 6. 显示同事信息. endl tt endl tt 2. 删除联系人. 7. 修改信息. endl tt endl tt 3. 显示所有联系人. 8.查询联系人. endl tt endl tt 4.显示亲人信息. endltt 按其他退出 endltt 5.显示朋友信息. endltt endl tt endl endl;template void SeqList:showall()cout所有人的信息如下:endl;for(int lm=0;lmn-1;lm+

8、)cout#datalm.Numbert姓名:datalm.namet电话号码:;for(int k=0;datalm.PNumberk!=0;k+)coutdatalm.PNumberk;coutt;switch(datalm.m)case 0:cout朋友tendl;break;case 1:cout亲人tendl;break;case 2:cout同事tendl;break;default: cout关系设置错误!;break;template void SeqList:showfriend()cout朋友的信息如下:endl;for(int lm=0;lmn-1;lm+)if(data

9、lm.m=0)cout#datalm.Numbert姓名:datalm.namet电话号码:;for(int k=0;datalm.PNumberk!=0;k+)coutdatalm.PNumberk;coutt;switch(datalm.m)case 0:cout朋友tendl;break;case 1:cout亲人tendl;break;case 2:cout同事tendl;break;default: cout关系设置错误!;break;template void SeqList:showrelative()cout亲人的信息如下:endl;for(int lmm=0;lmmn-1;lmm+)if(datalmm.m=1)cout#datalmm.Numbert姓名:datalmm.namet电话号码:;for(int k=0;datalmm.PNumberk!=0;k+)coutdatalmm.PNumberk;coutt

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号