




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
怀怀 化化 学学 院院 计计 算算 机机 系系 高高级级语语言言程程序序设设计计课课程程设设计计 报报告告 书书 简单的班级通讯录管理系统的设计和实现简单的班级通讯录管理系统的设计和实现 专专 业 业 计算机科学与技术 学生姓名学生姓名 学学 号 号 年级专业及班级 年级专业及班级 指导老师及职称 指导老师及职称 湖南 怀化 提交日期 2010 年 12 月 目目 录录 摘摘 要 要 3 3 前前 言 言 3 83 8 一 目的 3 二 设计分析 4 三 实现方法及主要的实现函数 5 四 调试问题 5 五 系统的使用说明书 5 六 结论 8 参考文献参考文献 8 8 致致 谢谢 8 8 附附 录录 8 8 简单的班级通讯录管理系统的设计和实现 学 生 指导老师 怀化学院计算机系 怀化 418008 摘 要 这是一个简单的班级通讯录管理系统 从功能上看主要具有如下功能 输入记录功能 通讯录编辑功能 按姓名查询功能 显示记录功能 排 序功能 对文件的操作等一系列功能 正是由于该系统需要这些功能 所以采用了高级语言程序设计中的面向对像的思路来编写该程序 使用 的是类和结构体 在排序方面采用的是选择排序法 本着使用方便的目的 本系统也采用了菜单操作 以及人性化提醒 的功能 总的来说本系统具有一个简单的班级通讯录管理系统的基本功 能 关键词 班级通讯录管理系统 面向对象 选择排序法 高级语言程序设计 前言 一 目的 班级通讯录管理系统 对于一个班级来说具有非常重要的意义 21 世纪 是信息科学突飞猛进发展的世纪 身在当今社会我们都已深切的感受到了这 一发展带来的飞跃变化 那么从此来看编写这样一个班级通讯录管理系统就 迫在眉睫了 从功能上来看 本系统设计如下功能 输入记录功能 从键盘输入 姓名 地址 电话 邮编 E mail 通讯录编辑功能 添加 删除 修改 按 姓名查询功能 显示记录功能 排序功能 按年龄排序后 显示 统计结 果保存在文本文件中 从文本文件中读取数据 显示 而且设计一个总菜单 分别调用各个子功能模块 通过了主菜单的调用来对数据的各项操作 本系统大多数采用的是高级语言程序设计中的字符串的比较来判断大小的 从而进而达到了排序的功能 其次 本系统在 windows xp 平台下的 Microsoft Visual Studio C 6 0 下编译通过 二 设计分析 简单的班级通讯录管理系统 具有如下功能 1 输入记录功能 从键盘输入 姓名 地址 电话 邮编 E mail 2 通讯录编辑功能 添加 删除 修改 3 按姓名查询功能 4 显示记录功能 5 排序功能 按年龄排序后 显示 6 统计结果保存在文本文件中 7 从文本文件中读取数据 显示 要求 设计一个总菜单 分别调用各个子功能模块 基于这些要求 设计方案为 需要设计菜单函数 void menu 用来显 示界面函数 而且在上面有操作指南 设计保存数据的函数 void save 保 存数据函数 将输入的数据保存在文档中 设计从键盘输入联系人信 息函 数 void creat 添加联系人函数 输入联系人的各项信息 设计 查询函数 void Find 查询联系人函数 输入指定的姓名即可查找对应的联系人 设计修改函数 void Alter 修改联系人信息 将指定的联系人的信息予 以修改 设计删除信息函数 void DEL 删除联系人信息 将指定的联 系人的信息予以删除 设计从文件读取数据函数 void chu 从文件中读 取数据的函数 设计调用函数的选择函数 void chose 选择函数 选择 菜单上的数字并调用指定的函数 三 实现方法 1 设计一个 BOOK 类 里面具有姓名 年龄 电话 地址 E mail 邮 编这几个数据成员 class BOOK public string name 姓名 int age 年龄 string addr 地址 string tel 电话 string E E mail string post 邮编 book 10 2 其他主要功能函数 void menu 显示界面函数 上面有操作指南 void save 保存数据函数 将输入的数据保存在文档中 void creat 添加联系人函数 输入联系人的各项信息 void Find 查询联系人函数 输入指定的姓名即可查找对应的联系 人 void Alter 修改联系人信息 将指定的联系人的信息予以修改 void DEL 删除联系人信息 将指定的联系人的信息予以删除 void Quit 退出系统函数 安全退出本系统 void chu 从文件中读取数据的函数 void chose 选择函数 选择菜单上的数字并调用指定的函数 四 调试问题 因为自己粗心把没有定义的 C 用错了 刚开始在排序就是输不出完全的数据原来开始我定义两个结构体 原因是我定义的两个 结构体结构数组 在运用 sort 排序的时候只能改变一个结构体数组的下标输出的数据只有 属于本结构体的数据 另一个结构体的数据没有输出 后来我用了只用了一个类 数据只 放在一个类里 定义一个类数组对象 就可以输出啦 五 系统的使用说明书 1 进入系统页面 如图 1 图 1 2 添加联系人 如图 2 图 2 3 修改联系人信息 如图 3 图 3 4 删除联系人信息 如图 4 图 4 5 查询联系人信息 如图 5 图 5 6 输出联系人信息 如图 6 图 6 7 按年龄给联系人排序 如图 7 图 7 8 退出系统 如图 8 图 8 六 结论 通过这次课程设计 不仅检验了我所学习的知识 也培养了我如何去把握一 件事情 如何去做一件事情 又如何完成一件事情 在设计过程中 与同学分 工设计 和同学们相互探讨 相互学习 相互监督 学会了合作 学会了运筹 帷幄 学会了宽容 学会了理解 也学会了做人与处世 在这些天里我也认识 到了自己在学习编程方面的严重不足 同时感谢对我帮助过的同学们 谢谢你 们对我的帮助和支持 让我感受到同学的友谊 课程设计是我们专业课程知识综合应用的实践训练 着是我们迈向社会 从 事职业工作前一个必不少的过程 千里之行始于足下 通过这次课程设计 我深深体会到这句千古名言的真正含义 我今天认真的进行课程设计 学会脚 踏实地迈开这一步 就是为明天能稳健地在社会大潮中奔跑打下坚实的基础 参考文献 谭浩强著 程序设计 清华大学出版社 2004 页码 417 453 致致 谢谢 本报告是在蒋启明老师的悉心指导和热情关怀下完成的 在此表示深深的 感谢 附录 程序清单 include include getch include include 排序头文件 include include using namespace std class BOOK 定义一个类 BOOK public string name 姓名 int age 年龄 string addr 地址 string tel 电话 string E E mail string post 邮编 book 100 int cmp BOOK void chose void Alter void DEL void Quit static i 0 void menu 菜单函数 system CLS system color 2B cout endl cout 欢迎使用班级通讯录管理系统 endl cout 作者 高敏 计算机科学与技术系 09 级一班 endl cout 2010 年 12 月 endl cout endl cout endl cout endl cout t t endl t t endl t t endl t t Record openly and fast endl t t endl t t 1 Add 添加 4 Modification 修改 endl t t endl t t 2 Deletion 删除 5 Inquiry 查询 endl t t endl t t 3 Reveal 输出 6 Withdraw 退出 endl t t endl t t 7 Sort 排序 endl t t endl t t endl endl t t tchose chose void save 保存数据 ofstream outfile f dat if outfile cerr It is unable to open endl 提示无法打开 exit 1 int h 0 do 向文件中输入数据 outfile book h name endl book h age endl book h E endl book h post endl book h tel endl book h addr endl h while h7 cout The memory has been already full endl 如果输入的数据大于 7 则提示内存满 cout l switch l case M case m system CLS menu break case Q case q system CLS Quit break default system CLS 清屏 cout Input the mistake endl cout Press any key to continue endl 按任意键继续 getch menu break 输入错误 menu else cout book i name cout book i tel cout book i addr cout book i age cout book i post cout book i E i save system CLS 清屏 cout The contact has already kept endl 联系人已保存 c switch c case N case n system CLS menu break case Y case y creat break default cout Input the mistake endl cout Press any key to continue endl getch menu break void List 显示所有联系人 system CLS 清屏 ifstream infile f dat if infile cerr It is unable to open endl exit 1 cout setf ios left 输出数据在本域宽范围内向左对齐 int n 0 for int m 0 m book m name book m age book m E book m post book m tel book m addr cout Name book n name endl 姓名 age book n age endl 年龄 E mail book n E endl 邮箱 postcode book n post endl 邮编 telephone book n tel endl 手机号码 Home address book n addr endl endl 住宅地址 n cout 1 Main menu 返回菜单 endl 2 Quit 退出 l switch l case 1 system CLS menu break case 2 system CLS Quit break default system CLS 清屏 cout Input the mistake endl cout Press any key to continue endl getch menu break void Find 查询联系人 system CLS 清屏 string NM cout Please input the name that will be inquired about the contact NM system CLS 清屏 int m 0 bool fabl 1 for int j 0 j i j m 0 if NM book j name fabl 0 m j cout Name book m name endl 姓名 age book m age endl 年龄 E mail book m E endl 邮箱 postcode book m post endl 邮编 telephone book m tel endl 电话 Home address book m addr endl endl 住宅地址 continue if fabl 1 cout This contact has not existed or already deleted endl 提示 此联系人不存在或已删除 else if fabl 0 cout Finish inquiring endl 查询完毕 cout 1 Main menu endl 2 Go on l switch l case 1 system CLS menu break case 2 system CLS Find break default system CLS cout Input the mistake endl cout Press any key to continue endl getch menu break void Alter 修改信息 system CLS cout Please input the name of the contact that will revise Ch int a 0 bool fabl2 0 for int b 0 b i b a 0 if Ch book b name fabl2 1 a b continue else fabl2 0 if fabl2 0 cout This contact has not existed or already deleted endl else if fabl2 1 system CLS 清屏 cout setf ios left 输出数据在本域宽范围内向左对齐 cout The primitive information of the contact whom you want to revise is endl 您要修改的联系人的原始信息为 cout Name book a name endl 姓名 age book a age endl 年龄 E mail book a E endl 邮箱 postcode book a post endl 邮编 telephone book a tel endl 手机号码 Home address book a addr endl endl 住宅地址 Please input new information endl 请输入新的信息 book a name cout book a age cout book a E cout book a post cout book a tel cout book a addr cout Information is revised successfully endl 修改成功 save cout 1 Main menu endl 2 Go on alter l switch l case 1 system CLS menu break case 2 system CLS Alter break default system CLS cout Input the mistake endl cout Press any key to continue endl getch menu break void DEL 删除联系人 system CLS ofstream outfile f dat if outfile cerr It is unable to open endl exit 1 cout Please input the name of contact that you want to delete Ch int a 0 bool fabl3 0 for int b 0 b i b a 0 if Ch book b name fabl3 1 a b break else fabl3 0 if fabl3 0 cout This contact has not existed or already deleted endl else if fabl3 1 for a b a i a book a name book a 1 name book a age book a 1 age book a E book a 1 E book a post book a 1 post book a tel book a 1 tel book a addr book a 1 addr i i 1 cout The contact deletes successfully endl 联系人删除成功 int n 0 do outfile book n name endl book n age endl book n E endl book n post endl book n tel endl book n addr endl n while n i cout 1 Main menu endl 2 Go on delete l switch l case 1 system CLS menu break case 2 system CLS DEL break default
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公文最易错别字的
- 饿了外卖市场经理月工作总结
- 如何说课培训课件
- 2026届山东省海阳市美宝学校化学九年级第一学期期中质量跟踪监视试题含解析
- 教学查房的价值与意义
- 2026届贵州省施秉县化学九年级第一学期期末联考试题含解析
- SMT生产现场培训
- 南昌市南大附中2026届英语九上期末调研模拟试题含解析
- 2026届安徽省蚌埠市怀远县化学九年级第一学期期末教学质量检测模拟试题含解析
- 江苏省苏州市虎丘区立达中学2026届化学九年级第一学期期中质量跟踪监视模拟试题含解析
- 公司司库管理系统执行管理办法
- 密歇根九级综合复习题
- 供货方案及保证措施供货服务方案
- 新冠核酸检测结果报告单
- 2023年人教版初中英语八年级Unit 4 教案
- 施乐S2011、S2320、S2520维修手册
- GB/T 32892-2016光伏发电系统模型及参数测试规程
- GB/T 10708.1-2000往复运动橡胶密封圈结构尺寸系列第1部分:单向密封橡胶密封圈
- 骨髓细胞学检查-英文版课件
- 惠普云教室用户操作手册
- 基于PLC的物料分拣系统设计
评论
0/150
提交评论