学生通讯管理系统报告书_第1页
学生通讯管理系统报告书_第2页
学生通讯管理系统报告书_第3页
学生通讯管理系统报告书_第4页
学生通讯管理系统报告书_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

怀怀 化化 学学 院院 计计 算算 机机 系系 高高级级语语言言程程序序设设计计课课程程设设计计报报告告 书书 简单的班级通讯录管理系统的设计和实现简单的班级通讯录管理系统的设计和实现 专专 业:业: 计算机科学与技术 学生姓名学生姓名: 学学 号:号: 年级专业及班级:年级专业及班级: 指导老师及职称:指导老师及职称: 湖南怀化 提交日期:2010 年 12 月 目目 录录 摘摘 要:要: -3 3 前前 言:言: -3-83-8 一、目的-3 二、设计分析-4 三、实现方法及主要的实现函数-5 四、调试问题-5 五、系统的使用说明书-5 六、结论-8 参考文献参考文献 -8 8 致致 谢谢 -8 8 附附 录录 -8 8 简单的班级通讯录管理系统的设计和实现 学 生: 指导老师: (怀化学院计算机系,怀化 ) 摘 要:这是一个简单的班级通讯录管理系统,从功能上看主要具有如下功能: 输入记录功能、通讯录编辑功能、按姓名查询功能、显示记录功能、排 序功能、对文件的操作等一系列功能。正是由于该系统需要这些功能, 所以采用了高级语言程序设计中的面向对像的思路来编写该程序,使用 的是类和结构体,在排序方面采用的是选择排序法。 本着使用方便的目的,本系统也采用了菜单操作,以及人性化提醒 的功能,总的来说本系统具有一个简单的班级通讯录管理系统的基本功 能。 关键词:班级通讯录管理系统;面向对象;选择排序法;高级语言程序设计; 前言 一、目的 班级通讯录管理系统,对于一个班级来说具有非常重要的意义。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;/邮编 book10; 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,页码 417453。 致致 谢谢 本报告是在蒋启明老师的悉心指导和热情关怀下完成的,在此表示深深的 感谢。 附录 程序清单: #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;/邮编 book100; 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; coutendl; cout endl; couttt endl tt endl tt endl tt Record openly and fast endl tt endl tt 1. Add(添加). 4. Modification(修改). endl tt endl tt 2. Deletion(删除). 5. Inquiry (查询). endl tt endl tt 3. Reveal(输出) . 6. Withdraw (退出). endl tt endl tt 7. Sort (排序) endl tt endl tt endl endl tttchose : ; chose(); void save()/保存数据 ofstream outfile(f.dat); if(! outfile) cerrIt is unable to open !endl;/提示无法打开 exit(1); int h=0; do/向文件中输入数据 endl bookh.ageendl bookh.Eendl bookh.postendl bookh.telendl bookh.addrendl; h+; while(h7) coutThe memory has been already full!endl;/如果输入的数据大于 7,则提示内存满 coutl; switch(l) case M: case m:system(CLS);menu();break; case Q: case q:system(CLS);Quit();break; default:system(CLS);/清屏 coutInput the mistake!endl; cout Press any key to continue! endl;/按任意键继续 getch();menu();break;/输入错误 menu(); else ; coutbooki.tel; coutbooki.addr; coutbooki.age; coutbooki.post; coutbooki.E; i+; save(); system(CLS);/清屏 coutThe contact has already kept !endl/联系人已保存 c; switch(c) case N: case n:system(CLS);menu();break; case Y: case y:creat();break; default:coutInput the mistake!endl; cout Press any key to continue. endl; getch();menu();break; void List()/显示所有联系人 system(CLS);/清屏 ifstream infile(f.dat); if(! infile) cerrIt is unable to open ! bookm.age bookm.E bookm.post bookm.tel bookm.addr; coutName :endl/姓名 age:bookn.ageendl/年龄 E-mail:bookn.Eendl/邮箱 postcode :bookn.postendl/邮编 telephone :bookn.telendl/手机号码 Home address :bookn.addrendlendl;/住宅地址 n+; cout1:Main menu(返回菜单)endl 2:Quit(退出)l; switch(l) case 1:system(CLS);menu();break; case 2:system(CLS);Quit();break; default:system(CLS);/清屏 coutInput the mistake!endl; cout Press any key to continue. endl; getch();menu();break; void Find()/查询联系人 system(CLS);/清屏 string NM; coutPlease input the name that will be inquired about the contact :NM; system(CLS);/清屏 int m=0; bool fabl=1; for(int j=0;ji;j+) m=0; if(NM=) fabl=0; m=j; coutName :endl/姓名 age:bookm.ageendl/年龄 E-mail:bookm.Eendl/邮箱 postcode :bookm.postendl/邮编 telephone :bookm.telendl/电话 Home address :bookm.addrendlendl;/住宅地址 continue; if(fabl=1) coutThis contact has not existed or already deleted !endl; /提示此联系人不存在或已删除 else if(fabl=0) coutFinish inquiring !endl;/查询完毕 cout1:Main menuendl 2:Go onl; switch(l) case 1:system(CLS);menu();break; case 2:system(CLS);Find();break; default:system(CLS);coutInput the mistake!endl; cout Press any key to continue. endl; getch();menu();break; void Alter()/修改信息 system(CLS); coutPlease input the name of the contact that will revise :Ch; int a=0; bool fabl2=0; for(int b=0;bi;b+) a=0; if(Ch=) fabl2=1;a=b;continue; else fabl2=0; if(fabl2=0)coutThis contact has not existed or already deleted!endl; else if(fabl2=1) system(CLS);/清屏 cout.setf(ios:left);/输出数据在本域宽范围内向左对齐 coutThe primitive information of the contact whom you want to revise is :endl; /您要修改的联系人的原始信息为 coutName :endl/姓名 age:booka.ageendl/年龄 E-mail:booka.Eendl/邮箱 postcode :booka.postendl/邮编 telephone :booka.telendl/手机号码 Home address :booka.addrendlendl/住宅地址 Please input new information:endl/请输入新的信息 ; coutbooka.age; coutbooka.E; coutbooka.post; coutbooka.tel; coutbooka.addr; coutInformation is revised successfully !endl;/修改成功 save(); cout1:Main menuendl 2:Go on alterl; switch(l) case 1:system(CLS);menu();break; case 2:system(CLS);Alter();break; default:system(CLS);coutInput the mistake !endl; cout Press any key to continue. endl; getch();menu();break; void DEL()/删除联系人 system(CLS); ofstream outfile(f.dat); if(! outfile) cerrIt is unable to open !endl; exit(1); coutPlease input the name of contact that you want to delete:Ch; int a=0; bool fabl3=0; for(int b=0;bi;b+) a=0; if(Ch=) fabl3=1;a=b;break; else fabl3=0; if(fabl3=0) coutThis contact has not existed or already deleted!endl;else if(fabl3=1) for(a=b;ai;a+) =booka+1.name; booka.age=booka+1.age; booka.E=booka+1.E; booka.post=booka+1.post; booka.tel=booka+1.tel; booka.addr=booka+1.addr; i=i-1; coutThe contact deletes successfully!endl;/联系人删除成功 int n=0; do endl bookn.ageendl bookn.Eendl bookn.postendl bookn.telendl bookn.addrendl; n+; while(ni); cout1:Main menuendl 2:Go on deletel; switch(l) case 1:system(CLS);menu();break; case 2:system(CLS);DEL();break; default:system(CLS);coutInput the mistake

温馨提示

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

评论

0/150

提交评论