ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:265.88KB ,
资源ID:28486484      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28486484.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++课程设计报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++课程设计报告.docx

1、C+课程设计报告课 程 设 计 报 告题 目 通信录的设计 学 院 专 业 班 级 学生姓名 : 12 月 15 日至 12 月 28 日 共 2 周指导教师(签字) 李 炜 院长(主任)(签字) 2014年12月19日一、设计内容及要求 设计要求:定义人员(person)类,其中至少包括姓名、性别、年龄、电话和类别(例如:同学、朋友等)。二、实现下面的功能:1、输入功能:输入人员信息。2、查询功能:1)能够根据姓名精确查询人员信息;2)根据电话号码查询人员信息。3、根据姓名对人员信息排序输出。4、能根据姓名、电话修改人员信息。5、能根据姓名、电话删除人员信息。三、分析与设计3.1系统模块设计

2、根据系统的功能设计,如下模块1.主界面模块:完成系统菜单的显示2.功能选择模块:根据用户的选择,完成其相应的功能(1)通讯录信息录入:完成用户从界面输入通讯录,保存入系统的功能(2)通讯录信息修改:完成用户从界面输入通讯录,在系统中查询定位,并将录入的数据保存入系统的功能(3)通讯录信息查询:完成用户从界面输入查询条件,在系统查询符合条件的通讯录信息,并在界面上显示的功能。(6)通讯录信息删除:完成用户从界面输入需要的通讯录信息的姓名,并将其从系统中删除。3.2数据结构设计根据系统要求,系统中需要保存的数据有通讯录的信息,其结构如下:数据项名称数据项系统表示数据类型数据长度备注姓名name字符

3、串20地址address字符串100电话tele字符串203.3界面设计1.主界面:根据系统要求,设计一个字符界面,显示系统的菜单,为了体现友好性,将在每个菜单前显示该菜单项对应的数字用户输入菜单项前面的数字,主菜单消失,进入该模块的相应界面,进行相应的操作,完成后,回到主界面。2.输入界面:在光标下输入通讯录的信息,用空格将信息隔开。3.修改界面:首先输入通讯录的姓名,显示该通讯录的详细信息,输入修改后的信息,将原来信息修改。4.删除界面: 输入需要删除的姓名,将其从通讯录中删除。5 .显示联系人界面:显示全部联系人 6.查询界面、;输入联系人姓名或号码可查询联系人信息3.4模块实现1.主界

4、面实现:调用cout函数,在屏幕上打印需要显示的字符信息,需要在显示之前调用system(“cls”)函数将前面的界面清空。 对应的实现函数menu_show(); 2.功能选择模块实现:接受从键盘输入的菜单选择,判断并调用相应的功能函数,完成其对应的功能。实现功能选择。对应的函数:menu_select();(1)通讯录信息录入模块实现:模块说明:从键盘接收输入的通讯录信息,在动态存储区中创建通讯录的节点,遍历链表,将其插入到通讯录链表的最后位置。模块流程:对应函数:add(struct phone * head) (2)通讯录信息修改模块实现:模块说明:从键盘接收输入的需要修改通讯录的姓名

5、,遍历链表,判断节点的姓名是否输入的姓名相等,如果相等,从键盘输入修改后的信息,保存在该节点中,改变标识变量,最后判断标识变量判断是否在链表中找到该姓名的通讯录。模块流程: 对应函数:update(struct phone * head) (3)通讯录信息删除模块实现:模块说明:从键盘接收输入的需要删除通讯录的姓名,遍历链表,判断节点的姓名是否输入的姓名相等,如果相等,从键盘输入删除后的信息,保存在该节点中,改变标识变量,最后判断标识变量判断是否在链表中找到该姓名的通讯录。模块流程: 对应函数:delete(struct phone * head) (4)通讯录信息导入模块实现:模块说明:从键

6、盘接收输入的需要删除通讯录的姓名,遍历链表,判断节点的姓名是否输入的姓名相等,如果相等,从键盘输入删除后的信息,保存在该节点中,改变标识变量,最后判断标识变量判断是否在链表中找到该姓名的通讯录。 模块流程: 对应函数:load(struct phone * head) (5)通讯录信息导出模块实现:模块说明:从键盘接收输入的需要删除通讯录的姓名,遍历链表,判断节点的姓名是否输入的姓名相等,如果相等,从键盘输入删除后的信息,保存在该节点中,改变标识变量,最后判断标识变量判断是否在链表中找到该姓名的通讯录。 模块流程: 对应函数:save(struct phone * head) (6)通讯录信息

7、查询模块实现:模块说明:从键盘接收输入的需要删除通讯录的姓名,遍历链表,判断节点的姓名是否输入的姓名相等,如果相等,从键盘输入删除后的信息,保存在该节点中,改变标识变量,最后判断标识变量判断是否在链表中找到该姓名的通讯录。 模块流程: 对应函数:search(struct phone * head) (7)通讯录信息显示模块实现:模块说明:从键盘接收输入的需要删除通讯录的姓名,遍历链表,判断节点的姓名是否输入的姓名相等,如果相等,从键盘输入删除后的信息,保存在该节点中,改变标识变量,最后判断标识变量判断是否在链表中找到该姓名的通讯录。模块流程: 对应函数:list(struct phone *

8、 head)四调试主界面 修改界面 删除界面 查询界面 显示联系人界面 添加联系人界面五程序源代码:#include #include #include #include #include int n,m;using namespace std;class msgpublic: msg();/默认构造函数 char inter_face();/首页 void add_person();/添加联系人 void del_person();/删除联系人 void show_all();/显示所有联系人 void alter();/修改信息 void select();/查询联系人 void save

9、_new();/保存新增加的联系人private: string name;/姓名 string sex;/性别 string num;/电话号码 string ad;/地址 string rl;/类型;msg:msg() name = 0; ad = 0; num = 0; sex = 0; rl = 0;/首页char msg:inter_face() cout endl; couttt* endl tt endl tt 通 迅 录 endl tt endl tt 1. 添加新联系人. 4. 修改信息. endl tt endl tt 2. 删除联系人. 5. 查询联系人. endl tt

10、 endl tt 3.显示所有联系人. 0. 退出通迅录. endl tt endl tt*endl endl choose; return choose;/添加联系人void msg:add_person() cout endl 根据下面提示输入新联系人信息 endl endl name; cout num; cout rl; cout sex; cout ad; save_new(); cout endl endl 新联系人信息已经保存好! endl ;/删除联系人void msg:del_person() ofstream outData(temp.txt, ios:out); ifst

11、ream inData(pbook.txt, ios:in); / if (!outData | !inData) cout endl 对不起!找不到文件! endl; system(pause); return; string sign; cout endl sign; string str1; bool flag = true; string str; while (inData name num) getline(inData, str); if (sign=name) | (sign=num) cout endl 你想删除的联系人: endl endl; cout str1 endl;

12、 cout setiosflags(ios:left) setw(17) name num str endl; flag = false; break; outData setiosflags(ios:left) setw(17) name num str endl; if (flag) cout endl 对不起!联系人中没你找的人! endl endl; else while (getline(inData, str) outData str endl; outData.close(); inData.close(); ofstream out(pbook.txt, ios:out); i

13、fstream in(temp.txt, ios:in); if (!out | !in) cout endl 对不起不能打开文件! endl endl; return; while (getline(in, str) out str endl; out.close();/ in.close(); cout endl 这个人的信息已经从你的通迅录中删除! endl endl; /显示所有联系人void msg:show_all() ifstream inData(pbook.txt,ios:in); if (!inData) cout endl 对不起!没有找到文件! endl; return

14、; bool flag = true; string record; while (getline(inData, record) if (flag) cout endl 所有联系人信息如下: endl; cout姓名setw(18)电话setw(15)性别setw(21)类型setw(15)地址endl; cout record endl; flag = false; if (flag) cout endl 你的通迅录中没有联系人! endl endl; else cout endl 所有联系人已经全部显示出来! endl endl; /修改信息void msg:alter() ofstre

15、am outData(temp.txt, ios:out); ifstream inData(pbook.txt, ios:in); / if (!outData | !inData) cout endl 对不起!找不到文件! endl; return; string sign; cout endl sign; string str1; bool flag = true; string str; while (inData name num) getline(inData, str); if (sign=name) | (sign=num) cout endl 你想修改的联系人: endl e

16、ndl; cout str1 endl; cout setiosflags(ios:left) setw(17) name num str endl; cout endl 请根据下面提示修改信息: endl; cout name; fflush(stdin); cout num; fflush(stdin); cout sex; fflush(stdin); cout rl; fflush(stdin); cout ad; fflush(stdin); save_new(); flag = false; break; outData setiosflags(ios:left) setw(17)

17、 name num str endl; if (flag) cout endl 对不起!联系人中没你找的人! endl endl; else while (getline(inData, str) outData str endl; outData.close(); inData.close(); ofstream out(pbook.txt, ios:out); ifstream in(temp.txt, ios:in); if (!out | !in) cout endl 对不起不能打开文件! endl endl; system(pause); return; while (getline

18、(in, str) out str endl; out.close(); in.close(); cout endl 这个人的信息已经在你的通迅录中修改! endl endl; /查询联系人void msg:select() ifstream inData(pbook.txt,ios:in); if (!inData) cout endl 对不起!文件找不到! endl; system(pause); return; string sign; cout endl sign; fflush(stdin); string str1; bool flag = true; string str; wh

19、ile (inData name num) getline(inData, str); if (name=sign) | (num=sign) cout endl 你要查找的联系人是: endl endl; cout str1 endl; cout setiosflags(ios:left) setw(17) name num str endl; flag = false; system(pause); break; void msg:save_new() ofstream outData(pbook.txt, ios:app); if (!outData) cout endl 对不起!打开文

20、件失败! endl endl; system(pause); return; outData setiosflags(ios:left) setw(17) name setw(16) num setw(18) sex setw(14) rl setw(20) ad endl; outData.close();void main() msg abj; do cout endl; couttt* endl tt endl tt 通 迅 录 endl tt endl tt 1. 添加新联系人. 4. 修改信息. endl tt endl tt 2. 删除联系人. 5. 查询联系人. endl tt

21、endl tt 3. 显示所有联系人. 0. 退出通迅录. endl tt endl tt*endl endl n; switch(n) case 1: abj.add_person();/添加联系人 break; case 2: abj.del_person();/删除联系人 break; case 3: abj.show_all();/显示所有联系人 break; case 4: abj.alter();/修改信息 break; case 5: abj.select();/查询联系人 break; default: break; coutm;while(m=1);六、主要参考资料 1)C+面向对象课程设计 谭浩强,清华大学出版社,2012年 2)面向对象程序设计 李涛,西安电子科技大学出版社,2010年

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1