




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、华东交通大学课程设计报告课程设计(论文)任务书 软件 学院软件+桥梁工程 专业 2 班 一、课程设计(论文)题目电话薄管理系统 二、课程设计(论文)工作自 2012 年 6 月 4 日起至 2012 年 6 月 10日止。三、课程设计(论文)地点: 软件学院实训中心 四、课程设计(论文)内容要求:1本课程设计的目的(1)使学生掌握系统各功能模块的基本工作原理; (2)培养学生程序设计的基本思路和方法; (3)使学生掌握程序调试方法;(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。 2课程设计的任务及要求1)基本要求: 设计一个电话簿管理小程序,利用对象数组或结构数组存储电
2、话簿数据,具有添加、删除、显示、和查询联系人电话号码的功能(电话簿的信息包括:姓名、性别、工作单位、手机号码、固定电话、存储日期)。主要功能: (1)新增信息、删除信息、修改信息(姓名以字母开始的字符串命名);(2)按姓名的字母顺序输出电话簿的所有记录 (3)按姓名查询记录;(4)增加缺省的查询方式,即查询时只输入姓名的首字母,所有符合这一条件的电话资料均在屏幕上显示2)创新要求: 在基本要求达到后,可进行创新设计,如提高系统的容错能力,响应速度等。3)课程设计论文编写要求(1)要按照书稿的规格打印誊写课程设计报告(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)毕业论文装订按
3、学校的统一要求完成4)答辩与评分标准: (1)完成原理分析:20分; (2)完成设计过程:30分; (3)完成调试:30分;(4)回答问题:20分。5)参考文献:(1)谢昕 刘觉夫 王更生C+程序设计 北京邮电大学出版社 (2)郑莉 .C+语言程序设计 清华大学出版社(3)钱能. C+程序设计教程 高等教育出版社6)课程设计进度安排 内容 天数地点构思及程序设计 2图书馆,教室程序调试 2实训中心撰写论文 1图书馆、实训中心 学生签名: 2012 年 6 月 4 日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(30分):优()
4、、良()、中()、一般()、差(); (3)完成调试(30分):优()、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)综合等级: 评阅人: 职称: 副教授 2012 年 6 月 10 日目录一、课程设计任务概述3二、各功能模块的具体实现6三、程序清单12四、程序调试与运行结果24五、设计心得(小结)27六、参考文献28一、课程设计任务概述 1 需求分析1.1功能需求分析:通讯录主要有一下模块:通讯录界面设计、添加联系人、删除联系人、显示所有联系人、修改信息、查询联系人,其中姓名可以由字符和数字混合编码,电话号码可由字符和数字组成。1
5、.11通讯录界面设计主要功能是设计通讯录的界面,能够提示用户的实际操作等。我采用的是按照序号来实现相应的操作的,其中:1添加联系人2删除联系人3显示所有联系人4修改信息5查询联系人6 关闭通讯录1.12通讯录添加联系人模块主要功能是添加联系人模块,添加操作是根据用户的要求实现的。包括添加联系人的姓名、性别、电话号、邮编、工作单位、储存日期等,最后输入完成后,将提示新联系人信息已经保存好!1.13通讯录删除联系人模块主要功能是删除不再需要的联系人。其中包括输入你要删除输入电话或电话号码如果没有的话,将提示:对不起!联系人中没你要找的人!如果找到,则提示删除联系人的所有信息和这个人的信息已经从你的
6、通讯录中删除的信息!1.14通讯录显示所有联系人模块显示所有的联系人的信息,包括姓名、性别、电话号、邮编、工作单位、储存日期并提示所有联系人已经全部显示出来!1.15通讯录修改联系人模块主要是修改联系人的信息,界面提示要输入需要修改的姓名或者电话号码,如果不正确,显示对不起,联系人中没有你找的人。如果正确,则显示出改联系人的所有信息,并提示根据下面提示修改信息,姓名、性别、电话号、邮编、工作单位、储存日期等1.16通讯录关闭通讯录模块提示谢谢使用!1.2 环境需求分析:操作系统: Windows XP开发软件: Visual 20081.3 方法需求分析该系统由于数据可能会很大,故采用文件操作
7、,能够打开或修改指定文件及将多个文件组成一个文件。而联系人的信息则通过类的对象来保存,它完全使用类来实现,充分体现面向对象的程序设计特点。2概要设计2.1 系统功能模块图通讯录系统 信息的初始化 添加联系人 删除联系人 显示所有联系人 修改信息 查询联系人 关闭通讯录2.2 设计思想:通讯录系统是用面向对象的方法设计,在类中定义了一下方法:add_person(),del_person(),show_all(),alter(),select(),save_new
8、()等方法和name,sex, work address, number, post,属性来实现通讯录的各种操作。 二、各功能模块的具体实现3.2主要代码描述3.21添加联系人的实现;通过输入联系人的如下信息:姓名、性别、电话、邮编、工作单位,并把输入的信息保存对象的属性,创建或者打开文件,并向文件中写入新添加的联系人信息添加联系人的具体代码:void book:add_person()cout <<endl <<"根据下面提示输入新联系人信息" <<endl <<endl<<"姓名:"
9、; ;cin >>name;fflush(stdin);cout <<"性别: "cin >>sex;fflush(stdin); cout <<"电话号: "cin >>number;fflush(stdin);cout <<"邮编: "cin >>post;fflush(stdin);cout <<"工作单位: "cin >>address;fflush(stdin);cout <<"
10、;存储日期: "cin >>date;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 <<"对不起!打开
11、文件失败!" <<endl <<endl;system("pause");return;outData << setiosflags(ios:left) << setw(17) << name<<" " << setw(16) << number <<" "<< setw(18) << sex<<" "<< setw(14) << post
12、 <<" "<< setw(20) << address <<endl;outData.close();3.22删除联系人的实现首先输入你要删除电话号码,删除操作时采用输入的姓名或者电话号码与文件中的姓名或者电话号码比较,从头到尾开始遍历,如果没有的话,将提示:对不起!联系人中没你要找的人!如果找到,则提示删除联系人的所有信息和这个人的信息已经从你的通讯录中删除的信息!/删除联系人void book:del_person()ofstream outData("temp.txt", ios:out);ifst
13、ream inData("pbook.txt", ios:in); /if (!outData | !inData)cout <<endl <<"对不起!找不到文件!" <<endl;system("pause");return;string sign;cout <<endl <<"你要删除输入姓名或电话号:"cin >>sign;string str1;bool flag = true;string str;while (inData >
14、;>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 <&l
15、t;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 <&l
16、t;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;
17、out.close();/in.close();cout <<endl <<"这个人的信息已经从你的通迅录中删除!" <<endl <<endl;system("pause"); 3.23显示所有联系人的实现:把文件中的各种信息读取并显示出来,代码如下: /显示所有联系人void book:show_all()ifstream inData("pbook.txt",ios:in);if (!inData)cout <<endl <<"对不起!没有找到文件
18、!" <<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 <<"你的通迅录中没有联系人!" <<
19、endl <<endl;elsecout <<endl <<"所有联系人已经全部显示出来!" <<endl <<endl;system("pause"); 3.24 修改联系人模块只要输入来联系人的名字或者电话,进行文件爱你的遍历查找到联系人的信息,而后进行修改。/修改信息void book:alter()ofstream outData("temp.txt", ios:out);ifstream inData("pbook.txt", ios:
20、in); /if (!outData | !inData)cout <<endl <<"对不起!找不到文件!" <<endl;system("pause");return;string sign;cout <<endl <<"你要修改输入姓名或电话号:"cin >>sign;string str1;bool flag = true;string str;while (inData >>name >>number)getline(inData
21、, 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 <<"
22、请根据下面提示修改信息: " <<endl;cout <<"姓名 :" ;cin >>name;fflush(stdin);cout <<"性别 :"cin >>sex;fflush(stdin);cout <<"电话号:"cin >>number;fflush(stdin);cout <<"邮编 :"cin >>post;fflush(stdin);cout <<"工作单位
23、:"cin >>address; fflush(stdin);cout <<"存储日期 :"cin >>date;fflush(stdin);save_new();flag = false;break;outData <<setiosflags(ios:left) <<setw(17) <<name<<" " <<number <<str <<endl;if (flag)cout <<endl <<&q
24、uot;对不起!联系人中没你找的人!" <<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 <<"对不起不能打开文件!" <
25、;<endl <<endl;system("pause");return;while (getline(in, str)out <<str <<endl; out.close();in.close();cout <<endl <<"这个人的信息已经在你的通迅录中修改!" <<endl <<endl;system("pause"); 3.25 查询联系人模块对文件进行遍历,将联系人的所有信息都显示出来。具体代码见3.3中。/查询联系人void bo
26、ok:select()ifstream inData("pbook.txt",ios:in);if (!inData)cout <<endl <<"对不起!文件找不到!" <<endl;system("pause");return;string sign;cout <<endl <<"输入你想查找的联系人的姓名或电话号码: "cin >>sign;fflush(stdin);string str1;bool flag = true;string
27、 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) <<name<<number <<str <
28、<endl;flag = false;system("pause");break;3.26关闭通讯录模块 提示谢谢使用!具体代码见3.3中。三、程序清单#include <iostream>#include <string>#include <iomanip>#include <fstream>#include <cstdlib>using namespace std;class bookpublic:book();/默认构造函数char inter_face();/首页void add_person();/
29、添加联系人void del_person();/删除联系人void show_all();/显示所有联系人void alter();/修改信息void select();/查询联系人void save_new();/保存新增加的联系人private: string name;/姓名string address;/工作单位string date;/存储日期string number;/电话号码string post;/邮编string sex;/性别;book:book()name = "0"address = "0"number = "0&qu
30、ot;post = "0"sex = "0"/首页char book:inter_face()system("cls");cout <<endl;cout<<"tt" <<endl<<"tt " <<endl<<"tt 电 话 薄 " <<endl <<"tt " <<endl<<"tt 1. 添加新联系人. 4. 修改信息.
31、" <<endl <<"tt " <<endl<<"tt 2. 删除联系人. 5. 查询联系人. " <<endl<<"tt " <<endl<<"tt 3. 显示所有联系人. 6. 关闭通迅录. " <<endl <<"tt " <<endl<<"tt" <<endl <<endl ; cout&l
32、t;<"注意:输入存储日期时,例如1111年1月1日存储的的,输入时要输入1111-01-01"<<endl; cout<<"请选择你需要的功能【数字】:"char choose;cin >>choose;fflush(stdin);return choose;/添加联系人void book:add_person()cout <<endl <<"根据下面提示输入新联系人信息" <<endl <<endl<<"姓名:"
33、; ;cin >>name;fflush(stdin);cout <<"性别: "cin >>sex;fflush(stdin); cout <<"电话号: "cin >>number;fflush(stdin);cout <<"邮编: "cin >>post;fflush(stdin);cout <<"工作单位: "cin >>address;fflush(stdin);cout <<"
34、;存储日期: "cin >>date;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 (
35、!outData | !inData)cout <<endl <<"对不起!找不到文件!" <<endl;system("pause");return;string sign;cout <<endl <<"你要删除输入姓名或电话号:"cin >>sign;string str1;bool flag = true;string str;while (inData >>name >>number)getline(inData, str);if
36、(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 <<setiosf
37、lags(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 ou
38、t("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 <<
39、;"这个人的信息已经从你的通迅录中删除!" <<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;wh
40、ile (getline(inData, record)if (flag)cout <<endl <<"所有联系人信息如下: "<<endl;cout <<endl <<"姓名 电话号 性别 邮编 工作单位"<<endl;cout <<record <<endl;flag = false;if (flag)cout <<endl <<"你的通迅录中没有联系人!" <<endl <<endl;e
41、lsecout <<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 <<"对不起!找不到文件!" &
42、lt;<endl;system("pause");return;string sign;cout <<endl <<"你要修改输入姓名或电话号:"cin >>sign;string str1;bool flag = true;string str;while (inData >>name >>number)getline(inData, str);if (sign=name) | (sign=number)cout <<endl <<"你想修改的联系人:&
43、quot; <<endl <<endl;cout <<str1 <<endl;cout <<setiosflags(ios:left) <<setw(17) <<name<<" " <<number <<str <<endl;cout <<endl <<"请根据下面提示修改信息: " <<endl;cout <<"姓名 :" ;cin >>nam
44、e;fflush(stdin);cout <<"性别 :"cin >>sex;fflush(stdin);cout <<"电话号:"cin >>number;fflush(stdin);cout <<"邮编 :"cin >>post;fflush(stdin);cout <<"工作单位 :"cin >>address; fflush(stdin);cout <<"存储日期 :"cin &g
45、t;>date;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, s
46、tr)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)
47、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 <<"对不起!文件找不到!" <<
48、;endl;system("pause");return;string sign;cout <<endl <<"输入你想查找的联系人的姓名或电话号码: "cin >>sign;fflush(stdin);string str1;bool flag = true;string str;while (inData >>name >>number)getline(inData, str);if (name=sign) | (number=sign)cout <<endl <<&
49、quot;你要查找的联系人是: " <<endl <<endl;cout <<str1 <<endl;cout <<setiosflags(ios:left) <<setw(17) <<name<<number <<str <<endl;flag = false;system("pause");break;void book:save_new()ofstream outData("pbook.txt", ios:app); i
50、f (!outData)cout <<endl <<"对不起!打开文件失败!" <<endl <<endl;system("pause");return;outData << setiosflags(ios:left) << setw(17) << name<<" " << setw(16) << number <<" "<< setw(18) << sex <<" "<< setw(14) << post <<" &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国淀粉连续蒸煮系统数据监测研究报告
- 第4课 夏商西周王朝的更替(教学设计)-2024-2025学年统编版七年级历史上册
- 2025至2030年中国氟蚁腙原药数据监测研究报告
- 场地硬化施工方案施工方案
- 2025至2030年中国免水牛皮胶纸数据监测研究报告
- 2025至2030年中国仿石雕艺术造型音箱数据监测研究报告
- 2025至2030年中国MC发光写字板数据监测研究报告
- 2025至2030年中国CD光盘数据监测研究报告
- 七年级历史与社会下册教学设计(图片版)第6单元第4课 青藏地区 高原圣城拉萨
- 2025年中国大电流等离子弧焊枪市场调查研究报告
- JJG 1044-2008卡尔·费休库仑法微量水分测定仪
- JJF 1211-2008激光粒度分析仪校准规范
- GB/T 34022-2017小型游乐设施立体攀网
- GB/T 29480-2013接近电气设备的安全导则
- GB/T 17432-1998变形铝及铝合金化学成分分析取样方法
- GB/T 13663.2-2018给水用聚乙烯(PE)管道系统第2部分:管材
- 学校小学劳动课程体系
- 正弦函数和余弦函数的图像与性质
- 大宗饲料原料品质-镜检
- Illustrator设计教案(第一讲)课件
- 我国的双重国籍问题研究 边防管理专业
评论
0/150
提交评论