通讯录的管理实验报告12800字_第1页
通讯录的管理实验报告12800字_第2页
通讯录的管理实验报告12800字_第3页
通讯录的管理实验报告12800字_第4页
通讯录的管理实验报告12800字_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

通讯录的管理实验报告12800字

数据结构课外实践报告项目名称:通讯录的管理所在班级:计算机科学与技术小组成员:***********************任课教师:******起止时间:2012.11.19——2012.12.16项目基本信息课外实践评定成绩记录一、问题描述及分析随着通讯业发展,学生生活中需要一种电子电话号码本,也为预防手机故障、遗失造成联系电话丢失,设计该通讯录查询系统,需要实现添加、插入、查找、修改、删除、显示、读取保存信息等功能。用链表的结构来存储数据,共有9个模块,imenu函数是主菜单,用InsertCon函数实现插入联系人的基本信息的功能,用AddDataType函数实现初始化联系人的基本信息的功能,用FindCon函数实现查找联系人的基本信息的功能,用changeMessage函数实现修改联系人的基本信息的功能,用DeleteMessage函数实现删除联系人的基本信息的功能,用showmessage函数实现显示联系人的基本信息的功能,用saveFilelinklist函数实现保存联系人的基本信息的功能,用readFilelinklist函数实现读取联系人的基本信息的功能,使用的是头插法定义链表,从尾部插入的方法实现链表。在主函数则是用一个switch函数控制和一个整数型全局变量,可以来选择链表函数,也实现了函数的循环使用。二、功能模块及数据结构描述1、主菜单menu{创建窗口“通讯录管理系统”;}2、初始化联系人的基本信息AddDataType{通过该函数实现初始化联系人基本信息的功能}3、插入联系人的基本信息InsertCon{通过该函数实现插入联系人基本信息的功能}4、查找联系人的基本信息FindCon{通过该函数实现查找联系人基本信息的功能}5、修改联系人的基本信息changeMessage{通过该函数实现修改某个联系人某些基本信息的功能}6、删除联系人的基本信息DeleteMessage{通过该函数实现删除某个联系人全部信息的功能}7、保存文件saveFilelinklis{通过该函数实现保存已输入信息的功能}8、读取文件内容readFilelinklist{通过该函数实现读取文件中信息的功能}9、显示信息showmessage{通过该函数实现显示已存入的全部联系人的基本信息的功能}三、主要算法流程描述及部分核心算法1、算法流程图2、部分核心算法(1)初始化联系人的基本信息intAddDataType(linklist*&L){linklist*p,*q;if(L==NULL){}inti,n;system("CLS");q=L;cout<<"请输入你想输入联系人的人数:"<<endl;cin>>n;for(i=1;i<=n;i++){L=(linklist*)malloc(sizeof(linklist));L->next=NULL;}(2)插入联系人的基本信息intInsertCon(linklist*&L){linklist*p;if(L==NULL){}p=(linklist*)malloc(sizeof(linklist));cout<<"还没有添加任何联系人,请先添加联系人!!"<<endl;return0;}return0;p=(linklist*)malloc(sizeof(linklist));cout<<"开始添加第"<<i<<"个联系人信息:"<<endl;cout<<"请输入联系人编号:";cin>>p->ID;find(L,p->ID);cout<<"请输入联系人姓名:";cin>>p->name;cout<<"请输入联系人姓别:";cin>>p->sex;cout<<"请输入联系人班级:";cin>>p->Class;cout<<"请输入联系人住址:";cin>>p->Addr;cout<<"输入手机号:";cin>>p->Mobi;p->next=L->next;L->next=p;}(3)查找联系人的基本信息intFindCon(linklist*&L){system("CLS");charna[20];cout<<"请依次输入被插入人的信息:编号姓名性别班级住址手机号"<<endl;cout<<"请输入联系人编号:";cin>>p->ID;find(L,p->ID);cout<<"请输入联系人姓名:";cin>>p->name;cout<<"请输入联系人姓别:";cin>>p->sex;cout<<"请输入联系人班级:";cin>>p->Class;cout<<"请输入联系人住址:";cin>>p->Addr;cout<<"输入手机号:";cin>>p->Mobi;p->next=L->next;L->next=p;saveFilelinklist(L);system("CLS");cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<">><<"<<endl<<">>信息修改成功!已保存修改!<<"<<endl<<">><<"<<endl<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<endl;return0;linklist*p,*q;if(L==NULL){}cout<<"请您输入要查找人的姓名:"<<endl;cin>>na;p=L;while(p!=NULL){if(strcmp(p->name,na)==0){q=p;cout<<"找到联系人,信息如下!!"<<endl;cout<<"-----------------------------------------------------------"<<endl<<"······························"<<endl<<"-----------------------------------------------------------"<<endl<<"编号:"<<q->ID<<endl<<"-----------------------------------------------------------"<<endl<<"姓名:"<<q->name<<endl<<"-----------------------------------------------------------"<<endl<<"性别:"<<q->sex<<endl<<"-----------------------------------------------------------"<<endl<<"班级:"<<q->Class<<endl<<"-----------------------------------------------------------"<<endl<<"住址:"<<q->Addr<<endl<<"-----------------------------------------------------------"<<endl<<"手机号:"<<q->Mobi<<endlcout<<"没有联系人的信息,请先添加"<<endl;return0;}(4)修改联系人的基本信息intchangeMessage(linklist*&L){linklist*p;charid[10];charnam[10];charsex[5];charAddr[50];charClass[20];charMobi[20];if(L==NULL){cout<<"没有任何信息,请返回添加信息!!!"<<endl;}return0;}elsep=p->next;<<"-----------------------------------------------------------"<<endl;break;return0;}elsep=L;cout<<"请你输入要修改的人的名字:";cin>>nam;while(p!=NULL&&p->name!=nam){"<<endl;if(strcmp(p->name,nam)==0){strcpy(p->name,nam);intchoose;do{cout<<"请选择要修改哪一项的信息!!!"<<endl;cout<<"1修改编号2修改性别3修改班别4修改地址cin>>choose;switch(choose){case1:cout<<"请输入要修改后的编号:";cin>>id;find(L,id);strcpy(p->ID,id);cout<<"编号修改成功!!!"<<endl;system("CLS");return0;break;case2:cout<<"请输入要修改后的性别:";cin>>sex;strcpy(p->sex,sex);cout<<"性别修改成功!!!"<<endl;system("CLS");return0;break;case3:5修改手机号码}cout<<"请输入修改后的班别:";cin>>Class;strcpy(p->Class,Class);system("CLS");cout<<"班别修改成功!!!"<<endl;return0;break;case4:cout<<"请输入修改后的地址:";cin>>Addr;strcpy(p->Addr,Addr);system("CLS");cout<<"地址修改成功!!!"<<endl;return0;break;case5:cout<<"请输入修改后的手机号码:";cin>>Mobi;strcpy(p->Mobi,Mobi);system("CLS");cout<<"手机号修改成功!!!"<<endl;return0;break;default:}cout<<"输入错误,重新选择!!"<<endl;break;}while(choose!=0);}(5)删除联系人的基本信息intDeleteMessage(linklist*&L){linklist*p,*q;chara[20];cout<<"请输入要删除联系人的姓名:";cin>>a;if(L==NULL){}p=L->next;q=L;while(p!=NULL){if(strcmp(p->name,a)==0){cout<<"没有任何信息可删除,请添加信息!!"<<endl;return0;}elseif(p->next!=NULL&&p->name!=nam){}else{}cout<<"输入名字错误,请重新选择4修改!!!"<<endl;return0;p=p->next;}(6)保存文件intsaveFilelinklist(linklist*&L){char*fileName;FILE*fp;linklist*p;p=(linklist*)malloc(sizeof(linklist));if(p==NULL){cout<<"分配内存失败"<<endl;}while(p==NULL){}cout<<"对不起,没有该联系人"<<endl;return0;}q=q->next;p=p->next;q->next=p->next;delete(p);cout<<"该联系人已成功删除"<<endl;return0;}if(L==NULL){}cout<<"没有任何信息,请先添加信息!!"<<endl;return0;else{ofstreamfout("123.txt",ios::out);if(!fout){cout<<"cannotopenoutputfile.\n";return1;}p=L->next;do{fout<<p->ID;fout<<"";fout<<p->name;fout<<"";fout<<p->sex;fout<<"";fout<<p->Class;fout<<"";fout<<p->Addr;fout<<"";fout<<p->Mobi;if(p->next!=NULL)//若不是最后一个记录fout<<"\n";p=p->next;}while(p!=NULL);fout.close;cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl<<">><<"<<endl<<">>信息保存成功<<"<<endl<<">><<"<<endl<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<endl;}(7)读取文件内容intreadFilelinklist(linklist*&L){linklist*p;if(L==NULL){}ifstreamfin("123.txt",ios::in);if(!fin){}charstr[200];while(!fin.eof()){p=(linklist*)malloc(sizeof(linklist));for(inti=0;i<6;i++){fin>>str;cout<<"cannotopeninputfile.\n";return1;L=(linklist*)malloc(sizeof(linklist));L->next=NULL;}return0;}(8)显示信息voidshowmessage(linklist*&L)}switch(i){case0:strcpy(p->ID,str);break;case1:strcpy(p->name,str);break;case2:strcpy(p->sex,str);break;case3:strcpy(p->Class,str);break;case4:strcpy(p->Addr,str);break;case5:strcpy(p->Mobi,str);break;}p->next=L->next;L->next=p;}fin.close;return0;{linklist*p;inti=0;if(L==NULL){}else{p=L->next;cout<<"*******************************联系表如下cout<<"没有任何信息可输出,请添加信息!!!"<<endl;***************************************";cout<<"********************************************************************************";cout<<""<<"编号"<<"姓名"<<"性别"<<"班别"<<"住址"<<"手机号"<<endl;"<<endl<<p->Addr<<""<<p->Mobi<<endl;cout<<"--------------------------------------------------------------------------------";do{i++;cout<<endl;cout<<i;cout<<""<<p->ID<<""<<p->name<<""<<p->sex<<""<<p->Class<<"cout<<"------------------------------------------------------------------------------"<<endl;p=p->next;if(i==70)break;}while(p!=NULL);do{i++;cout<<endl;cout<<i;cout<<""<<p->ID<<""<<p->name<<""<<p->sex<<""<<p->Class<<""<<endl<<p->Addr<<""<<p->Mobi<<endl;cout<<"------------------------------------------------------------------------------"<<endl;p=p->next;}while(p!=N

温馨提示

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

评论

0/150

提交评论