通讯录管理系统C++实验报告_第1页
通讯录管理系统C++实验报告_第2页
通讯录管理系统C++实验报告_第3页
通讯录管理系统C++实验报告_第4页
通讯录管理系统C++实验报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+数据结构课程设计班 级 信管1123 指导老师 吴卫祖 学 号 201211671330 姓 名 易梓麒 2014 年 7 月 7 日目录目录2通讯录管理系统3一. 问题描述31.1系统总体描述31.2需求分析31.3系统实现方案3二 概要设计(流程)3三 详细模块设计53.1信息录入53.2显示信息53.3按姓名查找信息63.4删除联系人信息63.5保存信息至文件73.6读取信息73.7添加信息83.8退出83.9主函数8四 程序运行示意图104.1主界面104.2输入信息114.3显示记录114.4删除记录124.5查阅记录124.6保存记录134.7读取记录144.8添加记录14五

2、总结与心得15六 附录#源代码15通讯录管理系统1. 问题描述1.1系统总体描述本系统是一款基于对通讯录中联系人进行管理的系统,可使用户更好的对通讯录中的联系人进行基本的操作。1.2需求分析根据需求,该系统应具备以下功能:1. 对联系人基本信息的录入2. 显示所有联系人的基本信息3. 按照姓名查找联系人信息4. 删除联系人信息5. 保存联系人信息至文件6. 从文件中读取联系人的信息7. 添加新联系人信息1.3系统实现方案为实现系统功能,本系统共分为构建链表函数,显示函数,查找函数,删除函数,保存函数,读取函数,添加函数以及退出系统。这七个函数通过主函数switch语句进行调用。2 概要设计(流

3、程)开始进入主函数结束退出添加联系人信息(tianjia)从文件中读取联系人信息(duqu0保存联系人信息至文件(baocun)删除联系人信息(delete)查找联系人信息(chayue)显示联系人信息(showlist)输入联系人信息(Creatlise)输入指令(h)3 详细模块设计3.1信息录入输入信息函数(Createlist)首先建立一个空的链表,其次进行对联系人基本信息比如联 系人姓名,电话,Email,以及与自己的关系等的输入。代码示意图如下:3.2显示信息显示函数(showlist)用于向用户显示用户所输入过的联系人的各种资料,包括姓名,电话,Email,关系等。代码示意图如下

4、:3.3按姓名查找信息查阅函数(chayue)用于用户按照联系人姓名查找以及显示该联系人的各种信息。如果没有该联系人的信息则会显示“查找不到联系人信息!”代码示意图如下:3.4删除联系人信息删除函数(delete0会帮助用户删除所不需要的联系人的各种信息。该函数先是查找到相应的联系人信息之后执行删除操作。删除后将不会再显示该联系人的信息。代码示意图如下:3.5保存信息至文件保存函数(baocun)用于永久性将联系人信息保存在文件中而不是内存中,以便于用户以后打开该系统时依旧可以看到以往输入过的联系人信息。代码示意图如下:3.6读取信息读取函数(duqu)用于用户读取之前所保存在文件中的联系人信

5、息。代码示意图如下:3.7添加信息添加函数(tianjia)用于帮助用户添加新的联系人信息。代码示意图如下:3.8退出退出该系统!3.9主函数主函数用于向用户展示此通讯录管理系统的主界面,并让用户可选择可执行的操作。代码示意图如下:4 程序运行示意图4.1主界面4.2输入信息4.3显示记录4.4删除记录4.5查阅记录如果没有该联系人的话:4.6保存记录4.7读取记录4.8添加记录5 总结与心得课程设计是培养我们综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程。回顾此次数据结构课程的学习,至今我仍感慨颇多,此次课程设计不仅可以巩固

6、了以前所学的知识,而且学到了很多在书本上所没有学到过的知识。我坚信此次的课程设计能够在以后的学习与实践结合方面对我提供很大的帮助!6 附录#源代码#include<iostream.h>#include<string.h>#include <fstream.h>#include <stdlib.h>#include<conio.h>struct Address /说明结构 char name20; /结点data域char Tel20;char Email20;char Relation20; Address *next ; /结点n

7、ext域;void Createlist(Address *&head) /建立链表 Address *s,*p;s=new Address; int a=1;while (a=1) cout<<"请输入姓名:"cin>>s->name;cout<<"请输入电话号:"cin>>s->Tel;cout<<"请输入Email:"cin>>s->Email;cout<<"请输入与您关系:"cin>>s

8、->Relation;if (head=NULL) head=s ;else p->next=s ;p=s ;s=new Address ;cout<<"是否继续输入,输入按1不输入按0 :" /判断是否继续输入cin>>a; p->next=NULL;delete s;return ;void showlist( Address *&head ) /显示链表 cout << "您的通信录为: "<<endl;cout<<"姓名"<<&#

9、39;t'<<"电话"<<'t'<<"电子邮箱"<<'t'<<"关系"<<endl;while(head) cout<<head->name<<'t' cout<<head->Tel<<'t'cout<<head->Email<<'t'cout<<head->Relati

10、on<<endl;head=head->next ; cout<<endl ;system("pause");void Chayuelist(Address *head) /查阅链表char a10;cout<<"请输入你所要查阅的姓名:"cin>>a;while(head)if(strcmp(head->name,a)=0)cout<<"姓名"<<'t'<<"电话"<<'t'

11、<<"电子邮箱"<<'t'<<"关系"<<endl;cout <<head->name <<'t' cout <<head->Tel<<'t'cout <<head->Email <<'t'cout <<head->Relation <<endl;system("pause");return ;head=h

12、ead->next; cout<<"查不到联系人信息!"<<endl;system("pause");void Delete(Address *head) /删除链表数据char a10;Address *s;cout<<"请输入你所要删除的姓名:"cin>>a;for(Address *q=head;q!=NULL;q=q->next)if(strcmp(q->next->name,a)=0) s=q->next; q->next=s->nex

13、t; delete s; cout<<"删除成功!"<<endl; system("pause");void baocun(Address *head)/保存ofstream outstuf; outstuf.open("c:save.txt", ios:out ) ; if (!outstuf) cerr<<"File could not be open."<<endl ; abort(); while(head) outstuf<<head->n

14、ame<<' ' <<head->Tel<<' ' <<head->Email<<' ' <<head->Relation<<'n' ;head=head->next ; system("cls;");cout<<"保存成功!"void duqu(Address *&head) /读取保存文件Address *next,*s;s=new Address;head=n

15、ew Address; /头插法建立单链表head->next=new Address;s=head->next; ifstream infile;infile.open("c:save.txt"); /打开外存文件,看是否有数据存在if(!infile)cout<<"电话系统中没有任何号码"<<endl;elseinfile.close();infile>>s->name>>s->Tel>>s->Email>>s->Relation;cout&l

16、t;<"读取电话号码系统成功!"<<endl;system("pause"); void tianjia(Address *&head) /添加 Address *s;s=new Address;/生成新结点cout<<"ntt请输入姓名:"cin>>s->name;cout<<"ntt请输入电话号:"cin>>s->Tel;cout<<"ntt请输入Email:"cin>>s->

17、Email;cout<<"ntt请输入与您关系:"cin>>s->Relation;cout<<"ntt你已经添加成功"s->next=head;head=s; return ;void tuichu()system("cls");cout<<"您已成功推出本系统,欢迎您下次使用!"<<endl;system("pause");void main() /主函数 system("cls");int h;Ad

18、dress *head=NULL ;cout<<"-本程序为通讯录管理系统-"<<endl;while(h<=7) cout<<'n'cout<<'t'<<'t'<<"请选择你所要实现的功能的编号"<<endl;cout<<'t'<<'t'<<"*1.输入记录*"<<endl;cout<<'t'<<'t'<<"*2.显示记录*"<<endl;cout<<'t'<<'t'<<"*3.查阅记录*"<<endl;cout<<'t'<<'t'<<&quo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论