您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > C++课程设计简易通讯录
-0-本程序用VS2013编写,所用语言为C++,为多文件程序,可将源代码复制到VS后简单处理,即可运行。C++课程设计设计题目:简易通讯录管理程序学院名称:信息科学与技术学院专业名称:计算机科学与技术学生姓名:学生学号:任课教师:设计(论文)成绩-1-目录第1章问题描述........................................1第2章概要设计........................................1第3章详细设计........................................33.1数据写入(添加到)文件的函数算法思想或步骤.......33.2从文件读取内容到程序的函数算法思想或步骤.........3第4章测试结果及分析..................................3参考文献...............................................6附录:源代码...........................................6-1-第1章问题描述1、实现通讯录的基本功能:录入、删除、查找和修改、显示。2、联系人的基本属性包括姓名、性别、住址、联系电话、电子邮件等。为了实现对所有联系人的分组管理,还需添加组别属性3、查找功能的具体要求如下:(1)能够根据姓名、电话精确查询人员信息;(2)能够根据姓氏进行模糊查询人员信息;(3)根据人员类别查询人员信息4、文件存储通讯录5、提供操作的选择菜单第2章概要设计开发环境系统:windows8.1中文版64位处理器:IntelCorei5-4200H内存:4G开发软件:VisualStudio2013classPER//联系人类数组{public:charname[NAM_LEN];charsex[SEX_LEN];charaddress[ADD_LEN];chartel_no[TEL_LEN];chare_mail[MAIL_LEN];chargroup[GROUP_LEN];};-2--3-第3章详细设计3.1数据写入(添加到)文件的函数算法思想或步骤(1)声明ofstream类成员函数,打开“message.txt”文件,如果文件有内容则清空,若没有该文件则创建。(添加新数据到文件,将新数据添加到问价末尾)(2)在文件打开正常的情况下,依次写入PER类数组数据。关闭文件,显示“保存成功”。若没有正常打开,显示“保存失败”。3.2从文件读取内容到程序的函数算法思想或步骤(1)声明ifstream类成员函数,打开“message.txt”文件。(2)在文件打开成功(打开成功,说明文件有内容),读取正常并且没有到文件末尾的情况下,依次把文件内容传递给PER类数组。(3)关闭文件,返回值i为原文件中保存的联系人个数。第4章测试结果及分析添加联系人-4-文件保存(仅供测试)按姓名精确查找按手机号码精确查找按姓氏(名字第一个字)模糊查询-5-按组别查看按性别查看显示所有联系人修改某人信息-6-删除某个联系人信息参考文献[1]C++语言程序设计(第4版)[郑莉董渊何江舟].2010年7月第四版[2]C++程序设计教程(第二版)[钱能].2005年9月第二版附录:源代码源程序要按照编写程序的规范来编写,结构清晰。每个类、类成员函数、普通函数均需要在类名前、函数头前注释说明该类、函数的简要功能,函数中的关键语句需添加注释。示例如下:head.h头文件://头文件,包含PER类数组,每个项目的数组长度常量,所有元素的声明#ifndefHEAD#defineHEAD#includeiostream#includefstream#includevector#includestring#includeiomanipusingnamespacestd;constintnum=200;constintNAM_LEN=10;constintSEX_LEN=4;constintMAIL_LEN=20;constintADD_LEN=18;constintTEL_LEN=15;-7-constintGROUP_LEN=10;classPER//联系人类数组{public:charname[NAM_LEN];charsex[SEX_LEN];charaddress[ADD_LEN];chartel_no[TEL_LEN];chare_mail[MAIL_LEN];chargroup[GROUP_LEN];};voidadd(PERper[],intn);//添加新联系人intdel(PERper[],intn);//删除联系人voidfind1(PERper[],intn);//按姓名查询联系人voidfind2(PERper[],intn);//按手机号码查询联系人voidfind3(PERper[],intn);//按姓氏(姓名第一个字)查询联系人intreadfromFile(PERper[]);//从文件中读取数据voidchange(PERper[],intn);//编辑联系人信息voidaddtoFile(PERper[],intn);//添加新联系人到文件voidwritetoFile(PERper[],intn);//向文件中写入数据voidshow1(PERper[],intn);//按组别显示联系人voidshow2(PERper[],intn);//按性别显示联系人voidshow3(PERper[],intn);//显示所有联系人#endifmain.cpp文件#includehead.h//主函数首页intmain(){intk,m;PERper[num];//声明PER类数组个数charselect1;coutendl;while(1){TOP:system(cls);cout※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※endl※15级计科1班薛皓※endl※※endl※简易通迅录※endl※※endl※1.添加联系人.※endl※※endl※2.查询(显示)联系人.※endl※※endl※3.编辑(删除)联系人.※endl-8-※※endl※0.退出※endl※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※endlendl\t\t\t选择:;cinselect1;switch(select1){case'1':cout输入添加的资料endl;add(per,1);cout任意键以返回菜单;addtoFile(per,1);system(pause);break;case'2':TWO:m=readfromFile(per);readfromFile(per);cout(1)根据姓名查找联系人endl;cout(2)根据手机号码查找联系人endl;cout(3)根据姓氏模糊查询(姓名第一个字)endl;cout(4)显示同一组别的联系人endl;cout(5)显示同一性别的联系人endl;cout(6)显示所有联系人endl;cout(0)返回菜单endl;charselectsearch;cinselectsearch;switch(selectsearch){m=readfromFile(per);case'1':find1(per,m-1);system(pause);break;case'2':find2(per,m-1);system(pause);break;case'3':find3(per,m-1);system(pause);break;case'4':show1(per,m-1);system(pause);break;case'5':show2(per,m-1);system(pause);break;case'6':show3(per,m-1);system(pause);break;case'0':gotoTOP;default:cout输入错误请按任意键重新选择:;system(pause);gotoTWO;}break;case'3':m=readfromFile(per);THREE:cout(1)编辑某个人的信息endl;cout(2)删除某个人的信息endl;cout(0)返回菜单;-9-charselectsearch3;cinselectsearch3;switch(selectsearch3){case'1':change(per,m-1);writetoFile(per,m-1);system(pause);break;case'2':k=del(per,m-1);writetoFile(per,m-2);system(pause);break;case'0':gotoTOP;default:cout输入错误,请按任意键重新选择;system(pause);gotoTHREE;}break;case'0':gotobottom;default:cout输入错误请重新输入,请按任意键返回菜单;system(pause);break;}}bottom:cout★★★★★★★★★★★★欢迎使用本软件!★★★★★★★★★★★endl;return0;}add.cpp文件:#includehead.h//添加联系人voidadd(PERper[],intn){for(inti=0;in;i++){cout姓名:;cinper[i].name;cout性别:;cinper[i].sex;cout住址:;cinper[i].address;cout联系电话:;cinper[i].tel_no;cout电子邮箱:;cinper[i].e_mail;cout组别:;cinper[i].group;}}addtoFile.cpp文件#includehead.h//添加到文件voidaddtoFile(PERper[],intn)-10-{ofstreamoutfile;outfile.open(message.txt,ios_base::app);//向文件尾加入新数据if(outfile.is_open())//判断文件是否正常打开{for(inti=0;in;i++){outfilesetw(NAM_LEN)per[i].name;outfilesetw(SEX_LEN)per[i].sex;outfilesetw(ADD_LEN)per[i].address;outfilesetw(TEL_LEN)per[i].tel_no;outfilesetw(MAIL_LEN)per[i].e_mail;outfilesetw(GROUP_LEN)per[i].groupendl;}outfile.close();//关闭文件cout保存成功!\nendl;}elsecout保存失败;}find.cpp文件:#includehead.h//按姓名查询联系人voidfind1(PERper[],intn){inti,find=0;charName[NAM_LEN];cout输入要查询联系人的姓名:;cinName;for(i=0;in;i++){if(strcmp(per[i].name,Name)==0){find=1;break;}}if(find){cout姓名:per[i].nameendl;cout性别:per[i].sexendl;cout住址:per[i].
本文标题:C++课程设计简易通讯录
链接地址:https://www.777doc.com/doc-2337460 .html