C++通讯录设计报告

 时间:2016-01-16 00:51:52 贡献者:xshl0115

导读:江西理工大学南昌校区《面向对象程技术》课设计报告2011—2012 学年第二学期课程名称面向对象技术 设计题目通讯录 专业班级 姓名 学号 指导教师2012 年6 月122日江西理工大学南昌校区摘要

c  语言课程设计报告书(通讯录管理系统)
c 语言课程设计报告书(通讯录管理系统)

江西理工大学南昌校区《面向对象程技术》课设计报告2011—2012 学年第二学期课程名称面向对象技术 设计题目通讯录 专业班级 姓名 学号 指导教师2012 年6 月122日

江西理工大学南昌校区摘要本程序设计报告主要讲的是简单通讯录的设计, 首先描述了用户对程序的功能需求, 然 后介绍了程序功能设计分析,包含功能简介图,类流程图,程序主界面图 本小组成员的介绍,编程要求,对小组成员的要求,小组各成员的任务分配, 最后附有源程序,使用说明书,心得体会,参考文献等关键字: 通讯录,界面,添加(add),显示全部联系人(show),修改联系人(change),删除联 系人(delete),查询联系人(query),退出。

2

江西理工大学南昌校区前言一.本设计报告的编写背景 学校安排为期一周的程序设计, 为使同学更加了解日后编程的的步骤, 使学生形成这种 编程的理念,以及为了提高学生的动手操作能力,提高学生使用 OFFICE 办公软件的能力。

二.本设计报告的特色 本设计报告类容详细, 步骤简单易懂, 源程序多使用解释说明, 配合使用概括图、 类图、 流程图、使用说明书,使得本通讯录功能详细,读者易于理解。

三.类容摘要 1.从用户的角度介绍对本通讯录系统的需求分析, 从编程者的角度设计通讯录系统的功 能详情和功能概图,绘制类的 UML 图, 2.任务安排书,给小组成员安排各自的任务,对小组成员提出的编程要求,以及各阶段 的时间计划, 3.本人写的那部分代码的详细介绍,详细的代码和流程图,以及程序调试的结果 3. 总结 : 是编写本程序的的心得体会, 其中点出了本程序存在的还不够的地方和一些 还不能实现的功能的概括,以及本组的设计心得 4.附录: 第一个 是整个通讯录的源程序的代码,多用注释,读者易懂; 第二个 是本通讯录的详细说明书,有每步的执行过程的界面图片,图文结合; 第三个 是参考文献,提供了参考文献的详细信息,可供读者参考3

江西理工大学南昌校区目录一. 任务描述------------------------------------------------------------------------------------------- 5 1.1 用户需求分析-------------------------------------------------------------------- 5 1.2 程序设计分析-------------------------------------------------------------------- 6 1.3 成员任务安排书----------------------------------------------------------------- 8二. 功能设计与实现---------------------------------------------------------------------------------10 2.1 查询联系人功能的设计分析--------------------------------------------------10 2.2 查询联系人的流程图----------------------------------------------------------11 2.3 查询联系人的代码 -------------------------------------------------------------- 132.4 查询功能的测试 -------------------------------------------------------------------------- 152.4主函数的设计 ------------------------------------------------------------------- 182.5 主函数的代码-------------------------------------------------------------------19三. 总结----------------------------------------------------------------------------------------------20 3.1 心得体会 -------------------------------------------------------------------------20 3.2 总结 -------------------------------------------------------------------------21四. 附录------------------------------------------------------------------------------------------------22 4.1 4.2 原程序 --------------------------------------------------------------------------22 使用说明书 -------------------------------------------------------------------354.3 参考文献 ----------------------------------------------------------------------394

江西理工大学南昌校区通讯录需求分析一 . 用户需求的分析:1 .基本功能有:1) 联系人信息的添加 2) 全部联系人的显示 3) 联系人的修改 4) 联系人的删除 5) 联系人的查询 6) 退出 7) 联系人的信息至少包括:名字、电话、住址、EMAIL、QQ 号、邮编等2 .功能细化: a. 电话分为手机号和家庭电话。

b. 添加联系人的界面要人性化,提示用户输入信息。

c. 联系人的修改时要先输出修改的联系人的信息,然后再修改,修改 后显示修改后联系人的信息。

d. 删除联系人时要先输出该联系人的相关信息,然后再给出是否确认 删除的提示,让用户进一步选择是否删除该联系人。

e. 查询功能包括分类查询: 以小菜单的形式让用户选择查询方式    按名字查询 按手机号查询 按 qq 号查询f. 联系人的的信息显示时采用一行显示。

g. 通讯录系统采用简单的密码形式进行访问。

h. 系统执行时完成一次功能的步骤就进行一次清屏并重新显示主菜单。

i. 设置系统屏幕的的颜色,使之色彩绚丽而不单调。

5

江西理工大学南昌校区3.课程设计的目的1)复习、巩固 C++语言的基础知识,进一步加深对 C++语言的理解和掌握。

2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和 实际有机的结合起来,锻炼学生的分析解决实际问题的能力。

提高学生适应实际,实践 编程的能力; 3)培养学生在项目开发中团队合作精神、创新意识及能力。

4)掌握面向对象的基础技术,学会分析研究类结构的特性,体会 C++语言的特色。

二 . 程序设计分析 1. 功能结构通过 switch 语句进入各个选项增加 联系人显示 所有 联系人修改 联系人 的信息删除 联系人查询 联系人退 出按 名字 查询按 手机号 查询按 qq号 查询6

江西理工大学南昌校区2 .类图:UML 图Person_info- name : string -sellphone : string - homephone : string -addr : string - email : string -qq : string - postcode : string - n[22] : string - s[22] : string - h[22] : string - a[22] : string - e[22] : string - q[22] : string - p[22] : string + show() : viod + get() : viod <> +Info_listInfo_list -num : int+ + + + + + + +add() : void show() : void change() : void delete() : void query() : void query_name() : void query_sellphone() : void query_qq() : void7

江西理工大学南昌校区任务安 第三小组排书1. 小组信息 课程设计选题:通讯录 时间: 2012.06. 18~22 小组成员: 组长: 2.运行环境 运行环境:MicrosoftVisualC++ 6.03. 通讯录主要界面如下:4.实验要求:8

江西理工大学南昌校区1)必须采用面向对象的程序设计方法,程序要上机调试通过,并按按时上交设计报告及源文件。

2)针对课程设计的选题,进行系统功能模块分析,实现相应功能,可以增加额外的功能,使程序更 加完善、合理。

3)系统设计要实用,编程简练,设计报告中要有较为详细的设计说明书、设计流程图等。

4)设计上交内容:设计报告一份(按格式书写)5.小组要求:1) 每位成员必须按时完成自己所分配到的任务。

2) 参考指导老师提供的代码,并进行细化和完善各项功能。

3) 遇到无法解决的问题时积极和各成员进行讨论或请教老师。

4) 各部分的程序设计在 17 号晚上 7 点之前完成,18 号在机房进一步调试,修改,完善。

实验 设计报告在 20 号以内完成。

6.任务的分配:       :完成“添加联系人”的代码。

:完成“显示所有联系人”的代码。

:完成“退出”的代码。

:完成“删除联系人“的代码。

:完成“修改联系人”的代码 。

:完成“查询联系人”的代码 (查询的功能:分类按选择【姓名、手机号、qq 号等】进 行查询)和“主函数“的代码,并将各部分代码进行组合,调试,完善。

   每个人都要写自己编程的那部分的代码和流程图,进行调试。

每个人撰写自己的课程设计报告。

9

江西理工大学南昌校区各成员的任务设计与实现小组组长: 分配的任务为:1.“查询联系人”功能的实现 2.“主函数”功能的实现,并将各部分代码进行组合,调试,完善。

一.查询联系人功能的设计分析: 1) 查询功能:要求分类【姓名、手机号、qq 号】进行联系人信息的查询,提示用户选 择查询方式,然后从键盘输入用户的选择,进行该方式的查询,若查询的联系人存在则 输出该联系人的全部信息,然后提示用户按任意键返回主菜单,若不存在该联系人,则 输出“该联系人不存在”,并提示用户按任意键返回主菜单进行下一步的操作。

查询联系人的流程图设计: 1. 功能概括图按名字查询通过 switch 进 入各个查 询功能按手机号查 询返回主 菜单按 q q 号查 询查询函数的流程图10

江西理工大学南昌校区2.选择查询的函数:query()的流程图:开始Int m调用 menu2()输入 mSwitch(m)m mcase 1 query_name()case 2 query_sellphone()case 3 query_qq()default终止11

江西理工大学南昌校区3.按名字查询 query_name()函数的流程图:开始Int flag=1; string name输入name输出 ++++++++++查询到的信息如下+++++++++假IntI =0; i

江西理工大学南昌校区注:按手机号和按 qq 号查询与上图类似3.查询联系人的代码: //按名字查询 Info_list::query_name() { int flag=1; string name; cout<<" 请输入要查询的名字:"<>name; cout<<"+++++++++++++ 查询到的信息如下所示 ++++++++++++++"<>sellphone; cout<<"+++++++++++++ 查询到的信息如下所示 +++++++++++"<

江西理工大学南昌校区cout<<" 该联系人不存在 !"<>qq; cout<<"+++++++++++ 查询到的信息如下所示 ++++++++++++++"<>m; switch(m) { case 1:query_name();break; case 2:query_sellphone();break;14分类查询----------------"<

江西理工大学南昌校区case 3:query_qq();break; default:cout<<" } }// 按 qq 号查询暂无此选项,请重新选择 ! "<

江西理工大学南昌校区按照选择进行操作,如按名字查询:按手机号查询为:16

江西理工大学南昌校区按 qq 号查询为:若输入的联系人的信息不存在则显示为:17

江西理工大学南昌校区二.主函数的设计1. 主函数的功能设计: 主函数要设置界面的颜色,设置使用密码进入主菜单,使用 switch 结构。

2. 主函数的功能图: 密码错误输入密码退出系统密码正确Switch()添加 联系 人查询 全部 联系 人修改 联系 人删除 联系 人查询 联系 人退出返回 主菜单18

江西理工大学南昌校区3.主函数的代码void main() { system("color 9A"); int choose;Info_list tx; string mima="123456"; cout<<" cin>>mima; menu(); if(mima=="123456") while(1) { cin>>choose; clear(); switch(choose) { case 1:tx.add(); 并输出主菜单 case 2:tx.showall(); //显示所有联系人 system("pause"); system("cls") ; menu(); break; //修改联系人 system("cls"); break; system("cls"); system("pause"); menu(); case 3:tx.change(); //添加联系人 break; //清屏 system("pause"); system("cls");//暂停函数menu(); 通讯录 //输入密码 //密码输入正确,则输出主菜单 //密码功能的实现 cout<<" 请输入密码: "<

江西理工大学南昌校区总结 一.心得体会1.设计体会: 1.)首先,我们通过这次的程序设计,对程序设计的步骤有了更深刻的了解。

2.)对 C++语言类的结构有了更加清楚的了解。

3.)知道了如何在 C++中实现子程序的调用。

4.)认识到团队合作的重要性。

2.存在的不足: 这次的设计中还有一些不足之处。

例如: 1.)虽然用户是使用密码进入通讯录系统,但是用户无法自己修改密码,要需改只能通 过源程序进行修改 2.)用户修改联系人信息时只能全部修改,还无法按选择进行修改。

3.)还有一些潜在的问题待于发现。

3.设计心得 1.) 程序设计编程阶段: 要有足够的耐心, 面对自己设计的程序出现的错误要按照错误提示细心修改, 存 在自己无法解决的问题要积极向同学、 老师请教, 也要充分利用网咯资源和参考文献, 使程序功能得以实现。

2.) 程序调试阶段: 要细心调试,把自己当成是用户,一步一步进行试用,尽量使界面美观,使用更 多的提示语言,使之更人性化,易于操作。

调试时也会出现功能方面的错误,这时就要返回到源程序进行进一步的修改,使 之功能完善。

20

江西理工大学南昌校区二.设计总结 这次我们设计的通讯录, 虽然功能上还无法和手机的通讯录软件相提并论, 但是我们从 这次的设计中对 C++语言有了更深一层次的了解, 对 C++的函数的调用, 头函数的使用, switch 语句的使用有了更深的了解,对 C++程序的界面的美化有了一些了解,对人机交流更深的体 会,从小组的合作中学会了成员合作的重要性。

21

江西理工大学南昌校区附录一:程序代码// 通讯录 #include #include #include #include #include usingnamespace std; void clear(); //个人信息类 class Person_info { public: Person_info(){}; ~Person_info(){}; void show(); void get(); friendclass Info_list; private: string name; string addr; string email; string sellphone; string homephone; string qq; string postcode; }; //通讯录信息表类 class Info_list { public: Info_list(); ~Info_list(){}; add(); showall();22//声明为友元类

江西理工大学南昌校区change(); delete_people(); query(); query_name(); query_sellphone(); query_qq(); private: Person_info per[200]; int num; }; //get()函数的实现 void Person_info::get() { cout<<" 添加联系人:"<>name; this->name=name; clear(); cout<<" 请输入的手机号 : "<>sellphone; this->sellphone=sellphone; clear(); cout<<" 请输入的家庭电话:"<>homephone; this->homephone=homephone; clear(); cout<<" 请输入的地址 :"<>addr; this->addr=addr; clear(); cout<<" 请输入的 EMAL :"<>email; this->email=email; clear(); cout<<" 请输入的 qq 号:"<>qq;23

江西理工大学南昌校区this->qq=qq; clear(); cout<<" 请输入的邮编:"<>postcode; this->postcode=postcode; clear(); cout<

江西理工大学南昌校区int flag=1; string name; Person_info p; cout<<" 请输出要修改的联系人 :"<>name; for(int i=0;i>new_name; per[i].name=new_name; clear(); cout<<" 请输入新手机号 :"<>new_sellphone; per[i].sellphone=new_sellphone; clear(); cout<<" 请输入新家庭电话 :"<>new_homephone; per[i].homephone=new_homephone; clear(); cout<<" 请输入新地址 :"<>new_addr; per[i].addr=new_addr; clear(); cout<<" 请输入新 EMAIL :"<>new_email;25//显示要修改联系人的信息cout<<" 请输入新名字:"<

江西理工大学南昌校区per[i].email=new_email; clear(); cout<<" 请输入新 QQ 号:"<>new_qq; per[i].qq=new_qq; clear(); cout<<" 请输入新邮编号 :"<>new_postcode; per[i].postcode=new_postcode; cout<<" 修改后的联系人的信息为:"<>name; Person_info s; for(int i=0;i

江西理工大学南昌校区cout<<" 你选择删除的联系人信息为 :"<>aaa; if(aaa==1) { for(int j=i;j>name; cout<<"+++++++++++++ 查询到的信息如下所示 ++++++++++++++"<

江西理工大学南昌校区{ cout<<"- 名字 --- 手机号 --- 家庭电话 --- 地址 --- EMAL ---- QQ号 ---- 邮 编 ----"<>sellphone; cout<<"+++++++++++++ 查询到的信息如下所示 +++++++++++"<

江西理工大学南昌校区cin>>qq; cout<<"+++++++++++ 查询到的信息如下所示 ++++++++++++++"<>m; switch(m) { case 1:query_name();break; case 2:query_sellphone();break; case 3:query_qq();break; default:cout<<" // 按 qq 号查询 暂无此选项,请重新选择 ! "<

江西理工大学南昌校区} } void clear(){cin.clear();cin.ignore();} //主菜单的输出 void menu() { cout<<" cout<<" ** cout<<" * cout<<" * cout<<" * cout<<" * cout<<" * cout<<" * 欢迎光临 "<>mima; menu(); if(mima=="123456") while(1) { cin>>choose; clear(); switch(choose)30//屏幕的颜色:设置为蓝色 //声明Info_list类的对象 //设置密码 "<

江西理工大学南昌校区{ case 1:tx.add(); system("pause"); system("cls");menu(); break; case 2:tx.showall(); //显示所有联系人 system("pause"); system("cls");menu(); break; case 3:tx.change(); system("pause"); system("cls");menu(); break; case 4:tx.delete_people();//删除联系人 system("pause"); system("cls");menu(); break; case 5:tx.query(); //查询联系人 system("pause"); system("cls");menu(); break; case 6:return; } } else cout<<" 密码错误 , 无法访问!"<

江西理工大学南昌校区附录二: 使用说明书本通讯录的详细使用说明 1.打开本通讯录显示的界面是要求用户输入密码进行访问 界面为:2.用户输入系统已经设定好的密码进入主菜单,系统密码为 123456 主界面为:32

江西理工大学南昌校区3.然后用户可以按照菜单的显示添加联系人 从键盘输入 1,就可以按照提示输入联系人的信息了,界面为:然后按任意键便可以清屏再次显示主菜单,进行其他操作了,再次添加一个联系人的信息, 4.按 2 显示全部联系人的信息5.按 3 可以修改联系人的信息 界面为33

江西理工大学南昌校区6.按 4 可以删除联系人 界面为:选择是否删除联系人,界面为: 选择 1,则联系人被删除了34

江西理工大学南昌校区显示所有联系人则只剩下“学生 1”7.按 5 进行联系人的查询 分为 : 1)按名字查询 2)按手机号查询 3)按 qq 号查询35

江西理工大学南昌校区查询的界面为:按照选择进行操作,如按名字查询:36

江西理工大学南昌校区按手机号查询为:按 qq 号查询为:37

江西理工大学南昌校区若输入的联系人的信息不存在则显示为:8.按 6 则可以退出系统:38

江西理工大学南昌校区附录三:参考文献1.《C++语言程序设计》 第四版     编著 : 郑丽 董渊 何江舟 出版社: 清华大学出版社 版次: 2010 年 7 月第 4 版 网址: http://www.tup.com.cn39

 
 

微信扫一扫 送福利