您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > C++课程设计之简易通讯录管理程序
C++课程设计报告[]C++课程设计报告题目:简易通讯录管理程序姓名:肖鹏学号:201213030316专业:计科三班联系电话:18780271747Email:865395147@qq.comC++课程设计报告[]目录1.问题描述..........................................................................................................12.概要设计..........................................................................................................13.详细设计..........................................................................................................14.测试结果及分析..............................................................................................25.源代码..............................................................................................................5C++课程设计报告-1-1.问题描述实现通讯录的基本功能:录入,删除,查找和修改,显示等功能.要求:1.联系人的基本属性包括姓名,性别,住址,联系电话,电子邮件等。为了实现对所有联系人的分组管理,需添加组别属性。其中查找功能应满足:*能根据姓名,电话精确查找人员信息;*能根据姓氏进行模糊查询人员信息;*根据人员类别查询人员信息;2.文件存储通讯录3.控制台程序实现时,需提供操作的选择菜单2.概要设计设计contact类,对通讯录进行管理.contact类中有1.voidAdd()成员函数,实现添加联系人功能2.voidAmend()成员函数,实现修改联系人功能3.voidDelete()成员函数,实现删除联系人功能4.voidSerchN()成员函数,实现按姓名查找联系人5.voidSerchT()成员函数,实现按电话号码查找联系人6.voidSerchG()成员函数,实现组别查找联系人7.voidShow()成员函数,实现显示所有联系人另外类中定义的私有数据有:charname[15];charsex[10];intage;chargroup[10];chartel[12];charqq[10];charmail[20];charaddress[50];实现对输入数据的存储,操作等。UML图:3.详细设计要求阐述关键模块的算法思想或算法步骤。voidAdd();//添加联系人首先输入数据,用contact创建类对象.利用s[i]指针数组存储动态分配的空间地址(s[i]=newcontact(name,sex,age,group,tel,qq,mail,address);).再利用fstream类中的ifstream/ofstream创建对象.然后用对象调用函数open(),write(),close()实现对数据的存储.如果ifstream/ofstream对象创建失败,则显示错误,并返回。voidAmend()//修改联系人C++课程设计报告-2-首先输入关键字:姓名.然后利用string类中函数strcmp(*p,*q);对字符串p和q进行比较;比较成功则返回0;当比较失败时,则显示:无此联系人相关信息.比较成功则对联系人信息进行接收,并存储.以便达到对联系人信息的修改voidDelet();//删除联系人函数首先输入联系人姓名,然后用strcmp(*p,*q)进行查找,查找成功则删除此联系人,并将联系人总数i自减1;若查找失败,则输出:无联系人信息。voidSerchN()/SerchT()/SerchG();函数同上,先输入关键字,然后在用strcmp(*p*q)对关键字比较,成功则输出该联系人信息.失败则返回:无此联系人信息。4.测试结果及分析录入联系人信息姓名查找联系人C++课程设计报告-3-电话查找联系人显示所有联系人C++课程设计报告-4-删除联系人C++课程设计报告-5-退出函数5.源代码源程序要按照编写程序的规范来编写,结构清晰。每个类、类成员函数、普通函数均需要在类名前、函数头前注释说明该类、函数的简要功能,函数中的关键语句需添加注释。C++课程设计报告-6-#includefstream#includestring#includestdlib.h#includeiostreamusingnamespacestd;classcontact{public:contact();contact(charnam[15],charse[10],intag,chargrou[10],charte[12],charq[10],charmai[20],charadd[50]);~contact();voidAdd();//添加联系人voidAmend();//修改联系人voidDelete();//删除联系人voidSerchN();//按姓名查找联系人voidSerchT();//按电话号码查找联系人voidSerchG();//组别查找联系人voidShow();//显示所有联系人private:charname[15];charsex[10];intage;chargroup[10];chartel[12];charqq[10];charmail[20];charaddress[50];};contact::contact()//构造函数1{}contact::contact(char*nam,char*se,intag,char*grou,char*te,char*q,char*mai,char*add)//构造函数2{strcpy(name,nam);strcpy(sex,se);age=ag;strcpy(group,grou);strcpy(tel,te);strcpy(qq,q);strcpy(mail,mai);strcpy(address,add);}contact::~contact()//析构函数{}contact*s[100];inti=0,j=0,age;charname[15];chargroup[20];charsex[10];chartel[12];charqq[10];charmail[20];charaddress[50];//-------------------------------------------------------------------------------voidcontact::Add()//添加联系人{C++课程设计报告-7-cout请输入联系人姓名:;cinname;cout请输入联系人性别:;cinsex;cout请输入联系人年龄:;cinage;cout请输入联系人电话:;cintel;cout请输入联系人QQ:;cinqq;cout请输入联系人电邮:;cinmail;cout请输入联系人地址:;cinaddress;cout请输入联系人组别:;cingroup;j++;s[i]=newcontact(name,sex,age,group,tel,qq,mail,address);i++;//开始存储信息ofstreamin;//创建输入对象inifstreamout;//创建输出对象outin.open(AddressBook.txt,ios::out);if(!in){couterror:打开文件出错,请重试。endl;exit(1);}in.write((char*)&s[i],sizeof(contact));//写入文件AddressBookin.close();//------------------------------------------------------contactst[10];inti=0;ofstreamfout;ifstreamfin;fout.open(AddressBook.txt,ios::out);if(!fout){coutError:打开AddressBook.txt失败!;exit(1);}while(fout&&i3){fout.write((char*)&s[i]-name,sizeof(contact));i++;}fout.close();cout保存成功!!!endl;}//====================================================================voidcontact::Amend()//修改联系人{boolmark1=true;cout请输入需修改联系人名称:;cinname;for(intb=0;bi;b++){if(strcmp(name,s[b]-name)==0)C++课程设计报告-8-{charse[10];charte[12];intag;chargrou[10];charq[10];charmai[20];charadd[50];cout请输入联系人性别:endl;cinse;cout请输入联系人年龄:endl;cinag;cout请输入联系人电话号码:endl;cinte;cout请输入联系人QQ:endl;cinq;cout请输入联系人电邮:endl;cinmai;cout请输入联系人地址:endl;cinadd;cout请输入联系人组别:endl;cingrou;strcpy(s[i]-sex,se);s[i]-age=ag;strcpy(s[i]-tel,te);strcpy(s[i]-qq,q);strcpy(s[i]-mail,mai);strcpy(s[i]-address,add);strcpy(s[i]-group,grou);cout联系人修改成功.endl;mark1=false;}}if(mark1)cout您要修改的联系人不存在.endl;}//==================================================================//==================================================================voidcontact::Delete()//删除联系人{boolmark5=true;cout请输入需删除联系人的名称:;cinname;for(inta=0;ai;a++){if(strcmp(name,s[a]-name)==0){i--;s[a]=s[a+1];a++;cout删除成功!!!endl;mark5=false;}}if(mark5)cout您删除的联系人不存在.endl;}C++课程设计报告-9-//====================================================================voidcontact::SerchN()//按姓名查找联系人{boolmark2=true;if(i==0)cout通讯录为空,无法进行此操作endl;else{cout请输入你要查找联系人的姓名:endl;cinnam
本文标题:C++课程设计之简易通讯录管理程序
链接地址:https://www.777doc.com/doc-6108163 .html