ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:91.36KB ,
资源ID:5419083      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5419083.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(题目2通讯录管理系统方案.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

题目2通讯录管理系统方案.docx

1、题目2通讯录管理系统方案题目 2 通讯录管理系统一设计要求1、问题描述设有一通讯录.记录联系人的联系信息.包括联系人姓名、联系人多个联系电话、邮箱、联系地址以及所属群组。联系人按姓氏序列升序排列并按顺序编号。使用者能根据姓名或编号对联系人信息进行增删改查。请编制一程序模拟该通讯录的管理。2、设计要求1)基本要求 (1) 新建联系人。输入联系人的姓名、电话、email、地址和分组等信息.并插入通讯录的正确位置。(2) 编辑联系人。可修改、新增或删除联系人的电话、设置首个默认电话号码、修改或删除email、地址和分组等信息。(3) 删除联系人。可按姓名或序号删除联系人的信息。(4) 查询联系人。可

2、按姓名或序号查询联系人的信息并输出。(5) 群组管理。可根据实际情况删除或新增分组.可为联系人分配群组或移除群组.并可按群组查询联系人信息。(6) 输出通讯录。按顺序输出通讯录的全部信息。2)以下为选做:(7) 按姓名查询联系人时可进行模糊查询。(8) 通过文件读写实现通讯录信息的读取和记录。二概要设计1.主界面设计为了实现通讯录管理系统.设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能.方便用户使用本系统。本系统主菜单运行界面如下图所示。2.存储结构设计本系统主要采用链表结构类型存储联系人信息。3.系统功能设计 本系统分为以下7个功能模块。(1)添加联系人:添加联系人子模块可完成

3、添加联系人姓名、电话、email、地址和分组等信息.并插入通讯录的正确位置。(2) 编辑联系人。可修改、新增或删除联系人的电话、设置首个默认电话号码、修改或删除email、地址和分组等信息。(3) 删除联系人。可按姓名或序号删除联系人的信息。(4) 查询联系人。可按姓名或序号查询联系人的信息并输出。(5) 群组管理。可根据实际情况删除或新增分组.可为联系人分配群组或移除群组.并可按群组查询联系人信息。(6) 输出通讯录。按顺序输出通讯录的全部信息。(7)可选择是否保存并退出系统。3模块设计1.模块设计本程序包含主程序模块.菜单选择模块和链表操作模块。调用关系如图所示:主程序模块菜单选择块链表操

4、作模块2.系统子程序及功能设计本系统共设置8个函数.其中 包含主函数.各函数名及功能说明如下: void addman();/添加联系人 void deleteman();/删除联系人 void updateman();/修改联系人 void searchman();/查找联系人 void printcontact();/输出全部联系人 void group();/分组void save();/保存联系人Int main();/主函数4详细设计1.数据类型定义class Nodepublic: Node *next; string name; 姓名 string num; 电话 string

5、email; 邮箱 string address; 地址 string group; 分组;class contactpublic : Node *head; contact()head=new Node;head-next=NULL; void addman();/添加联系人 void deleteman();/删除联系人 void updateman();/修改联系人 void searchman();/查找联系人 void printcontact();/输出全部联系人 void group();/分组 void save();/保存联系人;2.系统主要子程序详细设计(1)主程序模块设计

6、主函数:设定用户操作界面以及界面颜色和大小.调用菜单子模块函数int main() system(color 0D); contact c; cout * endl; cout* 欢迎来到通讯录管理系统 *endl; cout * endl; int j; while(1) cout*endl; cout- -| 1.添加联系人 | - -endl; cout- -| 2.查询联系人 | - - endl; cout- -| 3.删除联系人 | - - endl; cout- - | 4.修改联系人 | - - endl; cout- - | 5.查看分组 | - - endl; cout-

7、-| 6.输出全部联系人 | - - endl; cout- -| 0.退出系统 | - - endl; coutxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxendl; cout 请*选*择: j; switch(j) case 1: c.addman(); continue; case 2: c.searchman(); continue; case 3: c.deleteman(); continue; case 4: c.updateman(); continue; case 5: c.group(); continu

8、e; case 6: c.printcontact(); continue; case 0: char s; coutn是否要保存您的所有操作(Y/N): s; if(s=Y) c.save(); exit(0); continue; default :cout请输入正确的选择!endl; break; return 0; (2)添加联系人模块设计void contact:addman()/添加联系人 bool a=true; int i; Node *p;/新建结点.用来存放联系人信息 while (a) p=new Node;/每循环一次.就新建结点存放联系人信息 cout*请输入联系人信

9、息:*endl ; coutp-name; coutp-num; coutp-email; coutp-address; coutp-group; p-next=head-next;/头插法建立链表 head-next=p; cout*添加成功*!endl; coutendl; cout*是否继续添加(是请输入1,否输入2)*i; coutendl; if(i=1) a=true; else a=false; (3)删除联系人模块设计void contact:deleteman()/删除联系人 Node *p,*q;/定义两个结点指针 p=q=head; /让指针都指向头结点 string n

10、ame,j; cout*请输入要删除的联系人姓名:*name; while(p) if(p-name=name) break; else q=p;p=p-next; /让p为要删除的结点.q为前一个结点 if (p) if (p=head)/如果要找到要删除联系人是头结点 head=p-next; delete p; else /要删除联系人不在头结点 q-next=p-next; delete p; cout*删除成功-!*next=NULL) cout*你要删除的联系人不存在!*endl; coutj; if(j=1) deleteman(); exit(0); coutendl;(4)查

11、询联系人模块设计void contact:searchman()/查询联系人 int x=0;/用来标记是否查询过 int i; Node *p=new Node; string name; cout*请输入要查询的联系人名字:*name; while(p) for(p=head-next;p!=NULL;p=p-next) if(p-name)=name) x=1;/查到后.与要查询的联系人名字一致后.标为1.否则为0 cout 姓名:name 手机号码:num email:email 地址:address 分组:group endl; if(x=0)cout*你要查询的联系人不存在!*en

12、dl; couti; if(i=1) searchman(); coutendl;(5)修改联系人模块设计void contact:updateman()/修改联系人 int n,x=0;/用来标记是否查询过 string i; Node *p=new Node; string name,num,email,address,group,t; cout*请输入要修改信息的联系人名字:*name; while(p) for(p=head-next;p!=NULL;p=p-next) if(p-name)=name) x=1;/查到后.与要查询的联系人名字一致后.标为1.否则为0 cout*请输入想

13、要修改的信息:1.姓名 2.电话号码 3.email 4.地址 5.分组*n; switch (n) case 1: cout*请输入新的名字:*name; p-name=name; cout修改成功!endl; break; case 2: cout*请输入新的的电话号码:*num; p-num=num; cout修改成功!endl; break; case 3: cout*请输入新的email:*email; p-email=email; cout修改成功!endl; break; case 4: cout*请输入新的地址:*address ; p-address=address; cou

14、t修改成功!endl; break; case 5: cout*请输入新的分组:*group ; p-group=group; cout修改成功!endl; break; if(x=0)cout*你要修改的联系人不存在!*next; string n; cout请输入需要查看的分组:n; while(p!=NULL) if(p-group)=n) cout 姓名:name 手机号码:num email:email 地址:address 分组:group next;continue; break; (7)保存联系人模块设计void contact:save()/保存联系人 ofstream ou

15、tfile(contacts.txt,ios:out); Node *p=head; while(p-next!=NULL) p=p-next; outfilename num email address group next;p!=NULL;p=p-next) cout 姓名:name 手机号码:num email:email 地址:address 分组:group endl; coutendl;5测试分析系统运行主界面如下所示1.添加联系人菜单在主菜单下.用户输入1并回车运行 按照要求输入信息 结果如图所示2.查询联系人菜单在主菜单下.用户输入2并回车运行 按照要求输入信息 结果如图所示3

16、.删除联系人菜单在主菜单下.用户输入3并回车运行 按照要求输入信息 结果如图所示4.修改联系人菜单在主菜单下.用户输入4并回车运行 按照要求输入信息 结果如图所示5.查看分组菜单在主菜单下.用户输入5并回车运行 按照要求输入信息 结果如图所示6.全部输出菜单在主菜单下.用户输入6并回车运行 按照要求输入信息 结果如图所示7.保存联系人菜单在主菜单下.用户输入0并回车运行 按照要求输入信息 结果如图所示6源程序代码#include #include #include #include using namespace std;class Nodepublic: Node *next; string

17、 name; string num; string email; string address; string group;class contactpublic : Node *head; contact()head=new Node;head-next=NULL; void addman();/添加联系人 void deleteman();/删除联系人 void updateman();/修改联系人 void searchman();/查找联系人 void printcontact();/输出全部联系人 void group();/分组 void save();/保存联系人;void co

18、ntact:save()/保存联系人 ofstream outfile(contacts.txt,ios:out); Node *p=head; while(p-next!=NULL) p=p-next; outfilename num email address group endl; void contact:addman()/添加联系人 bool a=true; int i; Node *p;/新建结点.用来存放联系人信息 while (a) p=new Node;/每循环一次.就新建结点存放联系人信息 cout*请输入联系人信息:*endl ; coutp-name; coutp-nu

19、m; coutp-email; coutp-address; coutp-group; p-next=head-next;/头插法建立链表 head-next=p; cout*添加成功*!endl; coutendl; cout*是否继续添加(是请输入1,否输入2)*i; coutendl; if(i=1) a=true; else a=false; void contact:deleteman()/删除联系人 Node *p,*q;/定义两个结点指针 p=q=head; /让指针都指向头结点 string name,j; cout*请输入要删除的联系人姓名:*name; while(p) i

20、f(p-name=name) break; else q=p;p=p-next; /让p为要删除的结点.q为前一个结点 if (p) if (p=head)/如果要找到要删除联系人是头结点 head=p-next; delete p; else /要删除联系人不在头结点 q-next=p-next; delete p; cout*删除成功-!*next=NULL) cout*你要删除的联系人不存在!*endl; coutj; if(j=1) deleteman(); exit(0); coutendl;void contact:searchman()/查询联系人 int x=0;/用来标记是否查询过 int i; Node *p=new Node; string name; cout*请输入要查询的联系人名字:*name; while(p) for(p=head-next;p!=NULL;p=p-next) if(p-name)=name) x=1;/查到后.与要查询的联系人名字一致后.标为1.否则为0 cout 姓名:name 手机号码:num email:email 地址:address 分组:group endl; if(x=0)cout*你要查询的联系人不存在!*endl; cout*是否继续查询(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1