c++客户电话本管理系统课程设计报告.doc_第1页
c++客户电话本管理系统课程设计报告.doc_第2页
c++客户电话本管理系统课程设计报告.doc_第3页
c++客户电话本管理系统课程设计报告.doc_第4页
c++客户电话本管理系统课程设计报告.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机学院计算机科学与技术专业程序设计综合课程设计报告 (2010/2011学年第一学期)学生姓名: 学生班级: 学生学号: 指导教师: 2011年1月5日目 录第一章课程设计目的和要求11.1课程设计的目的 11.2课程设计的要求11.3C+程序设计软件及工具2第二章 课程设计任务内容32.1设计的背景32.2系统的功能 32.3系统运行环境分析3第三章 详细设计说明43.1 模块43.1.1 函数功能模块图43.1.2 模块描述432 流程图 63.3测试计划7第四章 软件使用说明 84.1 软件使用说明84.2 软件测试结果 8第五章 心得体会13附录:参考文献14附录:程序代码15 第一章 课程设计目的和要求随着社会的发展,科学技术的进步,以及人际关系的交往日益密切,普通的、采用纸质记录联系人电话等信息已经不能满足人们的需求。手工记录繁琐,容易出错,不方便查找,受个人情绪等影响严重,同时不方便传播,这就需要有一个能专门管理客户信息的电话信息管理系统能代替人们来管理客户电话等信息。与此同时,21世纪是科技高度发展的世纪,计算机以及信息化已经深入人心,这就更加需要一个信息的电话信息管理系统来代替落后的手工记录等来适应新时代的发展。客户电话信息管理系统,能满足人们的需要,人们可以通过它方便的记录客户电话等信息,同时能实现很方便的查找修改等。1.1课程设计的目的本次课程设计着眼与知识的运用,把平常学的知识运用到课程时间中来,考察我们知识运用能力,对我们所学的理论知识进一步深化。具体目的如下:1.巩固和加深对C+语言课程基本知识的理解和掌握。2.掌握C+语言编程和程序调试的基本技能。3.提高C+语言编程技巧,培养分析问题和解决问题的能力。4.利用C+语言进行基本的软件设计。5.掌握书写程序设计说明文档的能力。1.2课程设计的要求在程序设计中,既可以用传统的结构化程序设计的方法,也可以用先进的面向对象程序设计方法。他要求我们用所学的C+语言知识进行简单的编程,制作出一个简单的程序。具体要求如下:1.分析课程设计题目的要求。2.对系统功能模块进行分析,写出详细设计说明文档。3.编写程序代码,代码量要求不少于300行。并在程序源代码后写明详细的注释,以便他人看懂。最后上机调试程序使其能够正确的运行。4.设计完成的软件要便于操作和使用。5.设计完成后提交课程设计报告。通讯录管理系统是经常使用的小型工具。在该系统中,用户可以非常方便的随时查看、修改、增加客户信息。在实际生活中的用处也不容忽视。1.3 C+程序设计软件及工具 操作系统 :windows 7 程序编译系统:visual 6.0 制图工具 :QQ截图 第二章 课程设计任务内容2.1设计的背景随着社会的发展,人与人的关系更加紧密,联系也越来越频繁,从而造成了电话号码的繁多,为了解决之一难题用C+实现客户通讯录管理系统,通过对客户信息的输入、删除等,使之便于统计客户信息,大大减轻了对电话号码的繁琐记忆。2.2系统的功能设计的通讯录管理系统具备以下几个功能:输入客户信息记录显示客户信息记录删除客户信息记录添加客户信息记录退出通讯录管理系统2.3系统运行环境分析硬件配置:586以上PC兼容机或品牌机,配有彩色显示器、鼠标、键盘,内存不小于64MB,硬盘自由空间不少于200MB。推荐配置为内存128MB或256MB(或以上),硬盘自由空间500MB以上。操作系统:Windows2007/win7、Visual C+集成开发环境。第三章 详细设计说明3.1 模块客户电话本管理系统3.1.1 函数功能模块图删除客户信息添加客户信息显示客户信息创建客户信息图3.1函数功能模块图3.1.2模块描述 在MFC视图类中添加功能构造函数,主要的功能函数设计如下:(1)添加联系人的实现;通过输入联系人的如下信息:姓名、电话、QQ、邮编、地址,并把输入的信息保存对象的属性,创建或者打开文件,并向文件中写入新添加的联系人信息添加联系人的具体代码:void book:add_person()cout endl 根据下面提示输入新联系人信息 endl endlname;fflush(stdin);cout number;fflush(stdin);cout qq;fflush(stdin);cout post;fflush(stdin);cout address;fflush(stdin);save_new();cout endl endl 新联系人信息已经保存好! endl endl;system(pause);保存联系人的代码:void book:save_new()ofstream outData(pbook.txt, ios:app);if (!outData)cout endl 对不起!打开文件失败! endl endl;system(pause);return;outData setiosflags(ios:left) setw(17) name setw(16) number setw(18) qq setw(14) post setw(20) address endl;outData.close();(2)删除联系人的实现首先输入你要删除电话号码,删除操作时采用输入的姓名或者电话号码与文件中的姓名或者电话号码比较,从头到尾开始遍历,如果没有的话,将提示:对不起!联系人中没你要找的人!如果找到,则提示删除联系人的所有信息和这个人的信息已经从你的通讯录中删除的信息!/删除联系人void book:del_person()ofstream outData(temp.txt, ios:out);ifstream 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 number)getline(inData, str);if (sign=name) | (sign=number)cout endl 你想删除的联系人: endl endl;cout str1 endl;cout setiosflags(ios:left) setw(17) name number str endl;flag = false;break;outData setiosflags(ios:left) setw(17) name number str endl;if (flag)cout endl 对不起!联系人中没你找的人! endl endl;elsewhile (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(in, str)out str endl;out.close();/in.close();cout endl 这个人的信息已经从你的通迅录中删除! endl endl;system(pause); (3)显示所有联系人的实现:把文件中的各种信息读取并显示出来,代码如下: /显示所有联系人void book:show_all()ifstream inData(pbook.txt,ios:in);if (!inData)cout endl 对不起!没有找到文件! endl;system(pause);return;bool flag = true;string record;while (getline(inData, record)if (flag)cout endl 所有联系人信息如下: endl;cout record endl;flag = false;if (flag)cout endl 你的通迅录中没有联系人! endl endl;elsecout endl 所有联系人已经全部显示出来! endl endl;system(pause);(4) 修改联系人模块只要输入来联系人的名字或者电话,进行文件爱你的遍历查找到联系人的信息,而后进行修改。具体代码见(7)中。(5) 查询联系人模块 对文件进行遍历,将联系人的所有信息都显示出来。具体代码见(7)中。(6)关闭通讯录模块提示谢谢使用!具体代码见(7)中。(7) 程序详细代码#include #include #include #include #include using namespace std;class bookpublic:book();/默认构造函数char inter_face();/首页void add_person();/添加联系人void del_person();/删除联系人void show_all();/显示所有联系人void alter();/修改信息void select();/查询联系人void save_new();/保存新增加的联系人private: string name;/姓名string address;/地址string number;/电话号码string post;/邮编string qq;/QQ号;book:book()name = 0;address = 0;number = 0;post = 0;qq = 0;/首页char book:inter_face()system(cls);cout endl;couttt endltt endltt 通 迅 录 endl tt endltt 1. 添加新联系人. 4. 修改信息. endl tt endltt 2. 删除联系人. 5. 查询联系人. endltt endltt 3. 显示所有联系人. 6. 关闭通迅录. endl tt endltt endl endlchoose;fflush(stdin);return choose;/添加联系人void book:add_person()cout endl 根据下面提示输入新联系人信息 endl endlname;fflush(stdin);cout number;fflush(stdin);cout qq;fflush(stdin);cout post;fflush(stdin);cout address;fflush(stdin);save_new();cout endl endl 新联系人信息已经保存好! endl endl;system(pause);/删除联系人void book:del_person()ofstream outData(temp.txt, ios:out);ifstream 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 number)getline(inData, str);if (sign=name) | (sign=number)cout endl 你想删除的联系人: endl endl;cout str1 endl;cout setiosflags(ios:left) setw(17) name number str endl;flag = false;break;outData setiosflags(ios:left) setw(17) name number str endl;if (flag)cout endl 对不起!联系人中没你找的人! endl endl;elsewhile (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(in, str)out str endl;out.close();/in.close();cout endl 这个人的信息已经从你的通迅录中删除! endl endl;system(pause); /显示所有联系人void book:show_all()ifstream inData(pbook.txt,ios:in);if (!inData)cout endl 对不起!没有找到文件! endl;system(pause);return;bool flag = true;string record;while (getline(inData, record)if (flag)cout endl 所有联系人信息如下: endl;cout record endl;flag = false;if (flag)cout endl 你的通迅录中没有联系人! endl endl;elsecout endl 所有联系人已经全部显示出来! endl endl;system(pause);/修改信息void book:alter()ofstream outData(temp.txt, ios:out);ifstream 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 number)getline(inData, str);if (sign=name) | (sign=number)cout endl 你想修改的联系人: endl endl;cout str1 endl;cout setiosflags(ios:left) setw(17) name number str endl;cout endl 请根据下面提示修改信息: endl;cout name;fflush(stdin);cout number;fflush(stdin);cout qq;fflush(stdin);cout post;fflush(stdin);cout address;fflush(stdin);save_new();flag = false;break;outData setiosflags(ios:left) setw(17) name number str endl;if (flag)cout endl 对不起!联系人中没你找的人! endl endl;elsewhile (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(in, str)out str endl;out.close();in.close();cout endl 这个人的信息已经在你的通迅录中修改! endl endl;system(pause); /查询联系人void book: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;while (inData name number)getline(inData, str);if (name=sign) | (number=sign)cout endl 你要查找的联系人是: endl endl;cout str1 endl;cout setiosflags(ios:left) setw(17) namenumber str endl;flag = false;system(pause);break;void book:save_new()ofstream outData(pbook.txt, ios:app);if (!outData)cout endl 对不起!打开文件失败! endl endl;system(pause);return;outData setiosflags(ios:left) setw(17) name setw(16) number setw(18) qq setw(14) post setw(20) address endl;outData.close();enum powerADD = 1, DEL = 2, SHOW = 3, Alter = 4, Select = 5, END = 6;int main()char choose;book abj;while (choose = er_face()switch (choose)case ADD:abj.add_person();/添加联系人break;case DEL:abj.del_person();/删除联系人break;case SHOW:abj.show_all();/显示所有联系人break;case Alter:abj.alter();/修改信息break;case Select:abj.select();/查询联系人break;case END:cout endl 谢谢使用! endl endl;exit(0);break;default:break;return 0;32 流程图 图3-3流程图3.3测试计划 依次输入客户姓名、电话、QQ、邮编、地址, 进行的功能为:读取信息、输入信息、显示信息、增加信息、删除信息(输入编号执行删除,无此编号给与提示 )、退出系统 第四章 软件使用说明4.1软件使用说明 该程序可以实现对客户通讯信息的录入、读取、删除、增加功能,在VisualC+6.0下运行。 界面显示后,是作者信息,按任意键进入欢迎界面,系统提示用户输入管理员名称及正确的密码,用户输入后,出现系统界面,根据界面提示可以完成电话薄管理系统的各项功能。 该程序在使用时,必须是按照要求的字符串输入,否则将陷入死循环,一直进行下去;再查找、删除功能中,因本人能力有限只能进行编号查找及删除。4.2软件测试结果按任意键继续,显示主菜单:登陆主菜单后,按照编号可实现如下5种不同的功能。提示输入客户信息,此时请输入信息:图4.1 输入客户信息输入信息完毕后,按#结束,返回主菜单,此时选择2,按enter键继续,显示所输入的客户信息(只输入了一个):图4.2显示客户信息图4-3 修改信息删除后,显示“这是一个空表,请先输入客户信息!”(因为只输入一个客户,故删除后没有信息):图4-4 没有客户信息返回主菜单后,选择4,添加新客户信息:图4-5 添加客户信息输入新信息后,显示新客户信息:图4-6 显示添加后的信息在主菜单中,选择5,退出该管理系统:图4-7 退出系统第五章 心得体会经过这学期对C+的学习及这两个星期对电话本管理系统这个程序的设计,是我受益匪浅。在代码的编写和调试过程中出现了很多的错误,有时是一个小小的问题(例如没有包含相应的头文件,所要用的变量没有事先定义,缺少分号,或者是粗心将有的标识符名字写错等等),但就是这下问题都会导致整个系统无法运行,通过解决这些问题,使程序函数内部的运行方式有了更深的了解。这是我第一次做课程设计,刚开始对于这次的设计感到很模糊,不知道该怎么完,后来在老师的帮助下我慢慢的进入了状态,并顺利的完成了系统的设计。通过对电话本管理系统的编写,我对C+函数有了更深一层了解,能够更加熟悉的运用了一些函:学会了运用函数来读取、删除、查找、保存信息,在此基础上设立了密码系统来完善系统。虽然我做的程序还有很多不够完善的地方,但它让我进一步掌握了C+语言,而且学会用C+语言解决实际问题的宝贵经验。不仅如此他还让我更加深刻的体会到细节决定成败,平时要注重细节,只有认真对待 才会有好的成绩。 感谢老师对我课程设计的指导!附录参考文献1陈维兴,林小茶.c+面向对象程序设计教程. 北京: 清华大学出版社,2004.2张国峰. C+程序设计实用教程. 北京: 清华大学出版社,1996. 3张松梅. C+语言教程. 电子科技大学出版社,1993. 4阎龙. C程序员的C+指南. 北京航空航天大学出版社,1992. 5王博. 面向对象的建模、设计技术与方法. 北京希望电脑公司,1990. 6郑振杰.C+程序设计 北京:人民邮电出版社,2005 7柴欣,C/C+程序设计 河北大学出版社,2002 8余苏宁、王明福,C+程序设计 北京:高等教育出版社,2003 9吕凤翥.C+语言程序设计(第2版).电子工业出版社,2007.2 10李云清、杨庆红、揭安全.数据结构M.人民邮电大学出版社,2004.6附录程序代码#include #include #include #include #include using namespace std;class bookpublic:book();/默认构造函数char inter_face();/首页void add_person();/添加联系人void del_person();/删除联系人void show_all();/显示所有联系人void alter();/修改信息void select();/查询联系人void save_new();/保存新增加的联系人private: string name;/姓名string address;/地址string number;/电话号码string post;/邮编string qq;/QQ号;book:book()name = 0;address = 0;number = 0;post = 0;qq = 0;/首页char book:inter_face()system(cls);cout endl;couttt endltt endltt 通 迅 录 endl tt endltt 1. 添加新联系人. 4. 修改信息. endl tt endltt 2. 删除联系人. 5. 查询联系人. endltt endltt 3. 显示所有联系人. 6. 关闭通迅录. endl tt endltt endl endlchoose;fflush(stdin);return choose;/添加联系人void book:add_person()cout endl 根据下面提示输入新联系人信息 endl endlname;fflush(stdin);cout number;fflush(stdin);cout qq;fflush(stdin);cout post;fflush(stdin);cout address;fflush(stdin);save_new();cout endl endl 新联系人信息已经保存好! endl endl;system(pause);/删除联系人void book:del_person()ofstream outData(temp.txt, ios:out);ifstream 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 number)getline(inData, str);if (sign=name) | (sign=number)cout endl 你想删除的联系人: endl endl;cout str1 endl;cout setiosflags(ios:left) setw(17) name number str endl;flag = false;break;outData setiosflags(ios:left) setw(17) name number str endl;if (flag)cout endl 对不起!联系人中没你找的人! endl endl;elsewhile (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(in, str)out str endl;out.close();/in.close();cout endl 这个人的信息已经从你的通迅录中删除! endl endl;system(pause); /显示所有联系人void book:show_all()ifstream inData(pbook.txt,ios:in);if (!inData)cout endl 对不起!没有找到文件! endl;system(pause);return;bool flag = true;string record;while (getline(inData, record)if (flag)cout endl 所有联系人信息如下: endl;cout record endl;flag = false;if (flag)cout endl 你的通迅录中没有联系人! endl endl;elsecout endl 所有联系人已经全部显示出来! endl endl;system(pause);/修改信息void book:alt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论