通讯录管理C++

txwch

贡献于2012-04-21

字数:7238 关键词: C/C++开发 C/C++

《通讯录管理系统》 程序设计基础及数据结构 课程设计报告 专 业: 班 级: 姓 名: 学 号: 指导教师: 2011年 07 月11 日 目 录 1 课程设计目的 3 1.1课程设计目的 3 1.2课程设计题目 3 1.3题目要求 3 2 需求分析 5 2.1功能需求分析 5 2.2方法需求分析 6 3 概要设计 7 3.1系统功能模块图 7 3.2设计思想 7 4 详细设计 8 4.1主菜单 8 4.2添加记录 9 4.3删除记录 9 4.4显示记录 10 4.5修改记录 11 4.6查询记录 12 5 课程设计源代码 13 5.1主菜单源代码 13 5.2增加记录源代码 13 5.3删除记录源代码 15 5.4显示记录源代码 17 5.5修改记录源代码 18 5.6查询记录源代码 21 6 测试分析 23 6.1主菜单 23 6.2增加记录 23 6.3删除记录 24 6.4显示记录 24 6.5修改记录 25 6.6查询记录 25 6.7退出记录 26 7.课程设计总结 27 8.参考文献 28 1.课程设计目的 1.1课程设计的目的 所学C++知识设计一个通讯录,熟悉C++语言的编程思想,学会应用C++语言开发小的应用软件,提高利用语言的实际应用能力,逐渐培养编程能力、用计算机解决实际问题的能力,达到学习语言的目的。 1.2课程设计的题目 通讯录管理。 1.3题目要求 1.3.1问题描述(功能要求): 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。 (1)能建立、修改和增删学生通讯录 (2)能够按多种方式进行查询 1.3.2.问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。 1.3.3.其它要求: (1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好) (3)学生可自动增加新功能模块 2.需求分析 2.1功能需求分析 通讯录主要有以下模块:通讯录界面设计、添加记录、删除记录、显示记录、修改记录、查询记录。 2.1.1通讯录主菜单 主要功能是设计通讯录的界面,能够提示用户的实际操作等。按照序号来实现相应的操作,其中:1添加记录2删除记录3显示记录4修改记录5查询记录6 退出系统。 2.1.2通讯录添加记录模块 主要功能是添加新联系人记录,添加操作是根据用户的要求实现的。包括添加联系人的学号、姓名、性别、电话号码、出生日期、年龄、地址、Email等,最后输入完成后,将提示新联系人信息已经保存好!! 2.1.3通讯录删除记录模块 主要功能是删除不再需要的联系人记录。其中包括输入要删除输入姓名或学号,如果没有的话,将提示:对不起!!!通讯录中无该人记录!!!如果找到,则提示删除联系人的所有信息和删除成功! 2.1.4通讯录显示记录模块 主要是显示所有的联系人的信息,包括学号、姓名、性别、电话号码、出生日期、年龄、地址、Email并提示所有联系人已经全部显示出来!! 2.1.5通讯录修改记录模块 主要是修改联系人的信息,界面提示要输入需要修改的姓名或者电话号码,如果不正确,显示对不起!!!通讯录中无该人记录!!!。如果正确,则显示出要修改联系人的所有信息,并提示根据下面提示修改信息,学号、姓名、性别、电话号码、出生日期、年龄、地址、Email等 2.1.6通讯录查询记录模块 主要是查询联系人的信息,界面提示要输入需要查询的姓名或者电话号码,如果不正确,显示对不起!!!通讯录中无该人记录!!!。如果正确,则显示出所查询联系人的所有信息。 2.1.7通讯录关闭通讯录模块 提示谢谢使用! 2.2 方法需求分析 该系统由于数据可能会很大,故采用文件操作,能够打开或修改指定文件及将多个文件组成一个文件。而联系人的信息则通过类的对象来保存,它完全使用类来实现,充分体现面向对象的程序设计特点。 3.概要设计 3.1 系统功能模块图 创建通讯录 通讯录管理 通讯录查询 添加记录 修改记录 删除记录 显示记录 按姓名查询 按学号查询 将信息存入文件 3.2 设计思想 通讯录系统是用面向对象的方法设计,在类中定义 add_person( ),del_person( ),show_all( ),alter( ),select( ),save_new( )等方法和number,name,sex,phone,date,age,address,email等属性来实现通讯录的各种操作。 4.详细设计 4.1主菜单 4.1.1原型:menu() 4.1.2返回值类型:char 4.1.3功能:根据选单的选项内容调用个函数,并完成相应的功能。当输入1时,调用增加函数,并执行其相应的功能;当输入2时,调用删除函数,并执行其相应的功能;当输入3时,调用显示函数,并执行其相应的功能;当输入4时,调用修改函数,并执行其相应的功能;当输入5时,调用查询函数,并执行其相应的功能;当输入6时,调用推出函数,并执行其相应的功能。 开始 6 5 4 3 2 1 exit() select() alter() show_all() del_person() add_person() 结束 主菜单流程图 4.2增加记录 4.2.1原型:add_person() 4.2.2返回值类型:void 4.2.3功能:当用户手动输入这些信息时,在通讯录中增加此人的信息并返回主菜单。 开始 cin>>number>>name>>sex>> Phone>>date>>age>>address >>email save_new 结束 增加记录流程图 4.3删除记录 4.3.1原型:del_person() 4.3.2返回值类型:void 4.3.3功能:当用户输入要删除人的姓名或学号时,系统自动按顺序查找。找到了此人的信息时,系统显示其信息并删除;若未找到此人的名字时,系统自动输出“对不起!!!通讯录中无该人记录!!!”。 开始 sign number i=0 sign==name)|| sign==number 真 删除信息 假 cout<<"对不起" Cout<<”删除成功” 结束 删除记录流程图 4.4显示记录 4.4.1原型:show_all() 4.4.2返回值类型:void 开始 4.4.3功能:当用户选择该功能时,系统依次显示出通讯录所有联系人的信息。 cout<>name>>number>>sex>>phone>>date>>age>>address>>email 结束 修改记录流程图 4.6查询记录 4.6.1原型:select() 4.6.2返回值类型:void 4.6.3功能:当用户输入查找人的姓名或学号时,系统自动按顺序查找,并显示其信息,若未找到此人信息,系统自动输出“对不起!!!通讯录中无该人记录!!!”。 开始 sign 真 sign==name)|| (sign==number 假 Cout<>choose; fflush(stdin); return choose; } 5.2增加记录源代码: void book::add_person() //添加记录 { cout <>number; fflush(stdin); cout <<"请输入联系人姓名: "; cin >>name; fflush(stdin); cout <<"请输入联系人性别: "; cin >>sex; fflush(stdin); cout <<"请输入联系人电话号码: "; cin >>phone; fflush(stdin); cout <<"请输入联系人出生年月: "; cin >>date; fflush(stdin); cout <<"请输入联系人年龄: "; cin >>age; fflush(stdin); cout <<"请输入联系人地址: "; cin >>address; fflush(stdin); cout <<"请输入联系人Email: "; cin >>email; fflush(stdin); save_new(); cout <>sign; string str1; bool flag = true; string str; while (inData >>name >>number) { getline(inData, str); if ((sign==name) || (sign==number)) { cout <>sign; string str1; bool flag = true; string str; while (inData >>name >>number) { getline(inData, str); if ((sign==name) || (sign==number)) { cout <>number; fflush(stdin); cout <<"请输入正确姓名: "; cin >>name; fflush(stdin); cout <<"请输入正确性别: "; cin >>sex; fflush(stdin); cout <<"请输入正确电话号码: "; cin >>phone; fflush(stdin); cout <<"请输入正确出生年月: "; cin >>date; fflush(stdin); cout <<"请输入正确年龄: "; cin >>age; fflush(stdin); cout <<"请输入正确地址: "; cin >>address; fflush(stdin); cout <<"请输入正确Email: "; cin >>email; fflush(stdin); save_new(); flag = false; break; } outData <>sign; fflush(stdin); string str1; bool flag = true; string str; while (inData >>name >>number) { getline(inData, str); if ((name==sign) || (number==sign)) { cout <

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ]
4 人已下载

下载文档

相关文档