您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C++通信录管理系统(课程设计)
1目录一、课题内容和要求........................................................21.课题内容:.............................................................22.课题要求:.............................................................2二、需求分析..............................................................32.1系统概述:............................................................32.2问题分析:............................................................32.3功能需求描述:..........................................................................3三、概要设计..............................................错误!未定义书签。四、源程序代码............................................................8五、测试数据及其结果分析.................................................24六、调试过程中的问题及其改进.............................................28七、课程设计总结.........................................................292通信录管理系统一、课题内容和要求1.课题内容用C/C++设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。(1)查看功能:选择此功能时,列出下列三类选择。A:办公类B:个人类C:商务类当选中某类时,显示出此类所有数据中的姓名和电话号码(2)添加数据功能:能录入新数据,每个结点包括:姓名、电话号码、分类(可能选项有:A为办公类B为个人类C为商务类)、电子邮件。例如:杨春13589664454商务类chuny@126.com当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。a)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。b)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。2.课题要求:(1)首先自己设计好数据结构及算法;(2)界面友好,可操作性强,设置管理员用户登录界面,需要输入用户名和口令才能登录管理界面。3二、需求分析通信录管理系统主要对通信录的信息进行添加、修改、删除操作,以及对通信录中的信息实现查询、拨号等功能。并对登录、管理操作界面进行优化,实现人机友好交流。需求分析主要是对该系统的需求、功能以及系统在软硬件环境下运行的状况。2.1系统概述本系统主要保存的信息有登录用户名、登录密码、注册校验密码、通信录中的姓名、电话、类型、电子邮箱这些数据。所包含的功能有通信录新信息的添加、以保存信息的修改及删除、号码信息的拨号、显示所有信息、显示属于同一类型通讯者的信息、退出。2.2问题分析首先自己设计好数据结构及算法,界面友好,可操作性强,设置管理员用户登录界面,需要输入用户名和口令才能登录管理界面。2.3功能需求描述1).输入输出的要求程序运行后,给出3个菜单项的内容和输入提示:1.登录2.注册0.退出注意:如果登录时重新返回此界面,则密码或用户名不正确!!!选择:使用数字0-2来选择菜单项,其他输入则不起作用。当登录成功时,进入通信录管理界面。给出7个菜单项的内容和输入提示:1.添加新联系人2.删除联系人3.修改信息4.拨号5.查看联系人6.关闭通信录7.显示所有人选择:使用数字1-7来选择菜单项,其他输入则不起作用。42).登录功能当选择该菜单时,运行此功能。登录成功后,则进入通信录管理系统,否则不可进入。3).注册功能运行此功能时,首先进行注册权限的认证输入认证密码(本系统的认证权限密码为“admin”)。注册时密码输入两次,如果一致则注册成功,否则失败重新注册。4).退出功能退出运行系统。5).添加新联系人功能此功能向系统输入新的联系人信息,并保存在文件pbook.txt中。也可通过修改此文件添加新联系人。6).删除功能删除用户所指定的联系人信息。7).修改功能通过本功能可以修改通信录中的任何信息。并显示修改前后的信息。8).拨号功能向系统中输入想要拨号人的姓名或号码,系统搜索后显示此人信息并拨号发出声音。9).显示所有人的信息功能在菜单中,选取此功能后屏幕中显示所有人的信息。三、概要设计51).通信录系统总设计图程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能。2).模块流程图a.添加联系人流程图b.修改联系人通信录管理系统登录注册退出添加联系人修改联系人删除联系人拨号联系人显示所有人显示同类人退出系统调用savenew()函数返回系统菜单输入添加联系人信息输入修改的联系人姓名或号码读入pbook.txt文件信息6Nyc.注册登录用户名NYny输入与读入是否相等输入修改后的信息保存文件文件不存在返回系统菜单输入注册权限密码与admin是否相等输入user,code1,codecode!=code重新返回登录菜单7d.搜索模块(即显示所有人,显示同类人,拨号功能)nye.以上模块的数据以及函数在类中的声明如下:classbook{public:book();//默认构造函数charintface();//通讯录管理首页voidaddperson();//添加联系人voiddelperson();//删除联系人voidalter();//修改信息voidpress();//拨号voidshowall();//显示所有信息voidsavenew();//保存通讯录文件voidshow();//显示查询的类型voidshowA();//显示类型AvoidshowB();//显示类型BvoidshowC();//显示类型Cprivate:stringname;//姓名stringnumber;//电话输入要搜索的信息读出文件pbook.txt中的记录比较输入和读出的记录输出记录没有此信息重新返回系统菜单8stringtype;//类型stringemail;//电子信箱};structrecord{bookobject;//双向链表中的数据域是是一个记录类record*prior;//指向前躯record*next;//指向后继};f.密码模块数据声明:stringuser;//用户名stringcode;//密码stringcode1;//注册校对密码函数声明:charintface1(void);//密码登录首页intcheck(void);//校对登录密码voidcreat(void);//创建注册密码四、源程序代码密码登录模块:(password.h)password.h文件定义#ifndefPASSWORD_H#definePASSWORD_Hcharintface1(void);//密码登录首页intcheck(void);//校对登录密码voidcreat(void);//创建注册密码#endifpassword.cpp文件定义#includestdio.h#includeconio.h#includeiostream#includestring#includeiomanip#includefstream#includecstdlibusingnamespacestd;stringuser;//用户名9stringcode;//密码stringcode1;//注册校对密码intcheck(void)//登录密码检测{ifstreaminfile(code.txt,ios::in);//以读出方式打开文件if(!infile)//检测文件是否打开{coutendl对不起!文件找不到!endl;system(pause);return1;}stringsign;//定义用户名字符串stringsign2;//定义密码字符串coutendl请输入用户名:;cinsign;fflush(stdin);coutendl请输入密码:;cinsign2;fflush(stdin);//消除缓存intflag=1;//标志stringstr;while(infileusercode)//读出文件中的每条记录{getline(infile,str);if((user==sign)&&(code==sign2))//比较密码、用户名是否正确{coutendl\t\t\t登陆成功!endlendl;flag=0;}}system(pause);//停止比处理,并显示信息returnflag;}voidcreat(void)//用户注册{system(cls);cout请输入管理员注册权限密码:endl;stringstr;str=admin;stringstr1;cinstr1;10if(str1==str){cout通过认证!!!endlendl;cout请创建新用户名:;cinuser;fflush(stdin);cout请输入密码:;cincode;fflush(stdin);cout请重新输入密码:;cincode1;fflush(stdin);while(code!=code1)//比较两次输入密码{cout创建失败!endl请重新输入密码:;cincode1;}cout创建新用户成功!endl;ofstreamoutfile(code.txt,ios::app);//追加写得方式打开文件if(!outfile){coutendl打开文件失败!endlendl;system(pause);return;}outfilesetiosflags(ios::left)setw(17)user//写入文件setw(18)codeendl;outfile.close();//关闭文件coutendl恭喜,新用户以保存好!!!endl;system(pause);}else{coutendl对不起,您没有注册权限!!!endl如想注册请联系管理员:943599891@qq.comendl;system(pause);}}charintface1(void)//密码登录界面{11system(cls);//清除屏幕cout\t\t°☆°★.°·°∴°★.°·∴°☆·°∴°☆..·endl\t\t.°endl\t\t°∴★°°∴☆°★.·°∴°.endl\t\t◢◣。◢◣。☆通★endl\t\t·◢★◣。◢★◣。★信☆endl\t\t◢■■◣。◢■■◣。☆录★endl\t\t◢■■■◣。◢■■■◣。★系☆endl\t\t·︸︸||︸︸!!︸︸||︸︸☆统★endl\t\t°☆..·涛莹精品软件^_^!!☆°★°∴°°∴☆°.·★°∴endl\t\t°☆..·°★.☆°.★·°∴°★.
本文标题:C++通信录管理系统(课程设计)
链接地址:https://www.777doc.com/doc-7408781 .html