ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:295.10KB ,
资源ID:22699366      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22699366.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C通讯录管理课程设计报告Word文档下载推荐.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C通讯录管理课程设计报告Word文档下载推荐.docx

1、通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。程序应提供的基本管理功能有:1)添加:即增加一个人的记录到通信录中2)显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。3)存储:即将通讯录信息保存在一个文件中。4)装入:即将文件中的信息读入程序。5)查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。6)修改:可修改一个人的除姓名外其它信息。工作内容及时间进度安排设计第一周;分配每个人需要写的模块各自完成第二周;伍田,方成综合代码并改错第三周:蒋行,刘倩排版,写报告课程设计成果1与设计内容对应的软件程序2课程设计总结报告摘要在面向对象

2、程序设计课程理论与实验教学的基础上,根据软件工程的方法与流程,在相对集中的实训教学时间内,通过一个功能较完整的小型应用系统,复习与深入掌握面向对象的程序设计思想与技术方法。同时,作为整个实践教学体系一部分,系统培养学生采用面向对象的方法分析问题与解决问题的能力及团体组织与协作能力。本课题要设计的是简单的通讯录管理程序。程序提供了通信录的基本管理功能。包括添加、显示、存储、装入、查询和修改等功能。关键词:类;C+;通讯录;结构体一、概述1二、方案设计21类设计22特殊设计2三、系统整体设计及详细设计21整体设计22详细设计3 四、系统测试6五、结论与心得8六、参考文献10七、程序代码11一、概述

3、程序应提供的以下基本管理功能有:二、方案设计1类设计程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,电话号码和邮政编码用一个类来实现,作为链表的值指针指向这些类对象,通过链表的遍历可以操作这些数据。首先,本程序中设计如下的结构体存储通信录信息。该结构体重包括了姓名、地址、电话号码和邮政编码等。typedef struct TeleNode char name20; /*姓名*/ char address50; /*地址*/ char phone20; /*电话号码*/ char code20; /*邮政编码*/ struct TeleNode *next;TeleNode;基于该结构

4、体,定义了如下通信录类。该类中包括了指向结构体的头指针head。函数InitTeleBook()的功能是初始化head;函数isNameExist的功能是判断名字是否已存在结构体中,如果存在则返回1,否则返回0;函数addTeleBook()的功能是添加通讯录信息;函数findByName()的功能是根据姓名查找某人的相关信息;函数printTeleBook()的功能是在屏幕上显示所有通信录中的人员信息,可以分屏显示;函数writeToFile()的功能是将通讯录信息保存在一个文件中;函数loadFromFile()的功能是将文件中的信息读入程序;函数updateTeleBook()的功能是修

5、改一个人的除姓名外其它信息。class TeleBookprivate: TeleNode* head;public: TeleBook()head=NULL; void InitTeleBook(); int isNameExist(char name20); void addTeleBook(); void findByName(); void printTeleBook(); void writeToFile(); void loadFromFile(); void updateTeleBook();2特殊设计本程序为了加快数据定位查找的速度,采用常用优先的方法对链表的各个节点进行排序,

6、即一旦操作了一个人员的数据,他的数据就将被调用到链表的链首。这样经过有限次操作,经常查阅的人员的信息就将排在链表的前端。虽然不能说链首的节点一定是最常用的,但常用的节点一定会排在较靠前的部分,链表查找时所要走的平均距离一定较短。对于人员重名的情况,本程序会检测到将要添加的人名是否重复,并将提示用户重新输入新的人名。三、系统整体框架及详细设计1总体框架系统的整体框架如图1所示。图1 系统总体框架2详细设计 添加通讯录信息的代码如下所示,主要通cin及cout完成数据的输入及提示。TeleNode *tmp; tmp = (TeleNode*)new(TeleNode); tmp-next = N

7、ULL; cout name; while(isNameExist(tmp-name) cout 请输入地址:address;请输入电话号码:phone;请输入邮政编码:code;next = head-next; head-next = tmp;添加成功!n 显示通讯录功能的实现主要通过遍历链表来实现,主要代码如下所示。while(cur) cout.width(10); cur- cout.width(20); cout.width(15); endl; cur = cur- if(flag %15=0) getch(); flag+; 文件的存储和读出主要是通过istream和ostre

8、am来完成,具体代码如下所示。void TeleBook:writeToFile() ofstream file; TeleNode *tmp; file.open(telebook_info.dat, 0x02);/打开文件,不存在则创建 if(!file) File create Failure return; tmp = this-head- while(tmp) filenameaddressphone file.close();loadFromFile() ifstream file; char ch100;, 0x20);/file)File open Failure while(

9、filech) tmp = (TeleNode*)new(TeleNode); strcpy(tmp-name,ch); file tmp-next = this- this-对于查找功能,用优先的方法对链表的各个节点进行排序,一旦操作了一个人员的数据,他的数据就将被调用到链表的链首。具体代码如下所示。 if(!strcmp(cur-name, name) cout.width(10); cout next = cur- cur- head-next = cur; break; pre = cur;测试功能1,添加通讯录测试功能2,显示通讯录测试五,查询通讯录测试6,修改五、结论与心得经过三周

10、的课程设计,我完成了一个较大的C+语言程序的设计以及完成了课程设计的设计报告的撰写工作。回忆着三周的时间,我的收获很大。首先,通过这次课程设计,我熟练的掌握并运用了所学知识进行编程,而去取得了成功,这大大激发了我对编程的兴趣;其次,在设计的过程中所遇到的困难,我都认真地去思考,和同学以及老师交流,或者利用网上资源来获取帮助,寻求解决办法,通过各种渠道完善所学到的东西。最后,这次设计让我了解到了更多课堂以外的知识,这对我将来的学习和应用都是很有帮助的。对于计算机专业的大学生来说,积累实战经验是一项极其重要的内容,这可能会成为将来就业的敲门砖。而此次课程设计就是积累实战经验的一个过程,虽然程序的规

11、模不是很大,但是能够让我们认识软件开发的重要性和必要性,为将来的就业打下坚实的基础。通过这次课程设计,让我认识到,其实认真学习一门语言并不困难,关键是所要追求的学习的方法和途径。一条好的途径便于快速掌握,熟悉运用语言。学习的目的在于应用,理论来源于实践,如果在学习中能够通过有效的途径如自己动手设计一个功能比较强大的开发系统,借鉴于各种工具书,善于总结,一定可以有很好的效果。 通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C+,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己更好地学好计算机的相关课程。 结束课设的时侯,心里

12、就有一种很渴望但又很害怕的感觉,明白了自己与实际所需的距离,因为现在毕业求职难,特别是对于像自己一般的人,更多的时侯是社会,职业选择自己,而不是更多的自己去选择职业,所以更应该把所学的知识灵活地用于实践,这次课设就是对自己一个很好的锻炼机会,无论任何的偿试,都是自己以后很宝贵的经验,更是对自己的一种充实。六、参考文献1、谭浩强 著.C+程序设计. 北京:清华大学出版社,2004.62、吴乃陵、况迎辉 著.C+程序设计. 北京: 高等教育出版社,2006.3程序代码#include fstream#includeconio.husing namespace std;typedef struct

13、TeleNode /*标记为telebook*/ /*电话号码*/ /*省份*/InitTeleBook() this-head = (TeleNode*)new(TeleNode);int TeleBook:isNameExist(char name20) TeleNode *tmp = this-strcmp(tmp- return 1; return 0;addTeleBook()findByName() TeleNode *pre, *cur;请输入要查找的用户名: name; pre = this-head; cur = this- cout.width(10);姓名 cout.wi

14、dth(20);地址 cout.width(15);电话号码邮政编码 while(cur)printTeleBook() TeleNode *cur; int flag = 1; updateTeleBook() char tmp150, tmp220, tmp320; cout tmp1; if(strcmp(tmp1, 0) strcpy(tmp-address, tmp1);请输入新电话(输入0不修改):tmp2; if(strcmp(tmp2, phone, tmp2);请输入新邮编(输入0不修改):tmp3; if(strcmp(tmp3, code, tmp3);修改成功! return;该姓名不存在!void main() TeleBook teleBook; int select = 111; teleBook.InitTeleBook(); while(select!=0) cout 通信录管理系统 n*菜单*n * 1 添加 *n * 2 显示 *n * 3 存储 *n * 4 装入 *n * 5 查询 *n * 6 修改 *n * 0 退出 *n

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1