课程设计面向对象的程序设计C++电子通讯录系统.doc

上传人:仙人指路1688 文档编号:2385542 上传时间:2023-02-17 格式:DOC 页数:7 大小:37.50KB
返回 下载 相关 举报
课程设计面向对象的程序设计C++电子通讯录系统.doc_第1页
第1页 / 共7页
课程设计面向对象的程序设计C++电子通讯录系统.doc_第2页
第2页 / 共7页
课程设计面向对象的程序设计C++电子通讯录系统.doc_第3页
第3页 / 共7页
课程设计面向对象的程序设计C++电子通讯录系统.doc_第4页
第4页 / 共7页
课程设计面向对象的程序设计C++电子通讯录系统.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《课程设计面向对象的程序设计C++电子通讯录系统.doc》由会员分享,可在线阅读,更多相关《课程设计面向对象的程序设计C++电子通讯录系统.doc(7页珍藏版)》请在三一办公上搜索。

1、面向对象程序设计课程设计报告姓名: 李 瑞 班级: 信息管理062 学号: 200805030342 信息工程学院信息管理系二9年十二月题目:建立一个电子通讯录管理系统一、 题目要求:采用面向对象程序设计思想,利用二进制文件来存储数据,实现数据的输入、编辑(修改通讯信息)、管理(添加、删除)、查询(姓名查询、类别查询)等功能。二、 需求分析:根据题目要求,要实现数据的输入、编辑(修改通讯信息)、管理(添加、删除)、查询(姓名查询、类别查询)等功能。(程序开始运行时,自动调用文件函数,将文件中的信息导入到内存里)输入-人物姓名(name)、通讯类型(species)、手机号码(mobilepho

2、ne)、办公号码(officenum)、家庭电话(homenum)、E-mail地址(emailadd)、家庭住址(address)的输入。管理-添加:根据选择的通讯类型,将输入的信息添加到链表中。删除:分为两种。1. 根据姓名删除人物的通讯信息。2. 删除全部的人物信息。(程序运行结束时,链表中剩下的信息被写到文件中)编辑-对通讯信息的修改。查询-按照姓名、和通讯类型进行查询。三、 设计思路:1、 文件格式设计:直接将man对象的数据挨个存到文件中。2、 对象设计:把人物的通讯信息设计成类man,由结构体inform负责对二进制文件的操作和数据记录的操作。并设计简单的类型转换函数!(stri

3、ng 定义的对象转换成char 定义的字符串变量)3、 利用链表来存放记录,所有记录在操作开始的时候读入文件中的存有的数据(由结构体inform取出,转移到类man的对象中,再记录到链表中),在结束的时候再把记录存回(步骤与读入记录时相反)二进制文件中。4、 设计优缺点:优点:1.类man中的私有数据采用了类string定义的对象,类string对象具有简单的输入、赋值、读取,具有很高的灵活性,更重要的是string定义的字符串没有限制一定的长度,具有动态性,使用者可以更好的控制字符串的长度。2.所有的操作大多是在内存中实现,增加操作的速度,在操作的时候我们可以利用链表来实现随机的操作,十分的

4、方便。缺点:1.难以找到将包含类string对象的类man对象存到文件中的方法。还需要定义数据转换函数,以实现存储和读取文件。2.每一次的操作都要修改整个文件,如果是大型的数据源对内存的要求就很大,而且数据文件的一点错误就会破坏整个文件。只有在正常的结束的时候才会重新存储在内存中的数据,如果非正常结束就会破坏以前的操作。四、 详细设计:1 类定义:/class man /通讯信息类函数:man(string s,string n,string m,string o,string h,string e,string a);/构造函数man()/重载构造函数species=ooo;name=ooo

5、;mobilephone=ooo;officenum=ooo;homenum=ooo;emailadd=ooo;address=ooo;void display()cout(man)虚函数初始化链表从文件中读出通讯数据并插入链表中调用用户界面,接受用户的操作选择将链表中的通讯数据保存到磁盘文件中销毁链表(程序结束)B、用户选择流程:选择界面(选择)1.添加人物输入人物信息添加到链表2.删除人物(选择) 1.删除确定的一个人的信息(即根据人名删除人物信息)输入人名删除指定名字的人物信息 2.删除全部信息是否确定删除是(删除);否(返回)3.修改人物信息确定修改输入人物姓名修改人物信息4.查看人物

6、信息(选择) a根据人名查看个人信息输入要查询的人名显示人物信息 b查看一个通讯类的所有人物信息输入要查看的通讯类型显示该通讯类型下所有人物信息0.保存操作并退出系统六、调试分析:主要的调试过程有三个:a.对类string的应用做了充分的调试,掌握了足够的了解。然后对类man对象数据的储存有了足够认识。才想出要将man定义的对象中的string定义的字符串数据进行转换(成char 定义的字符串有固定的长度,方便存到文件中),最后归纳出两个关于类man 与结构体inform 之间转换数据string定义的字符串和char定义的固定长度字符串的函数。void cchanges(man m,info

7、rm &a);和void schangec(inform a,man &m);b链表的调试。总得来说链表的调试是相对简单的,毕竟都是在内存里运行的,记录和显示数据的。c.在作出了数据转换函数之后,直接面临的就是将内存中的记录写到文件中和从文件中读出有实际意义的数据,以实现数据的保存功能,不至于程序结束,数据就消失无踪。虽然文件看似是简单的东西,但总容易出错的也就是文件的操作。在文件的操作上,只要有一小点微小的错误,操作就会失败。我觉得调试阶段最重要的还是耐性和细心。要有足够的耐性去对待令人烦躁的错误,一步步细心的调试,就一定会成功。七、心得体会:这次课程设计让我更充分的熟悉了面向对象的思想,更进一步了解了C+的独到之处。这次实践还利用到了C+库里的string类,虽然我们经常希望自己能独立编出点东西来,像一些复杂的函数啊,类啊,其实C+等语言库里已经有现成的东西,用起来可以很方便,所以在我们学习语言的时候可以学习下语言库里的实用的函数、类等,同时可以自己学着编一下,使自己能更好的理解所学的知识。这次课程设计是一次磨练和考查自己的机会。这次实践不仅考验着自己的能力和信心,更磨练着我的意志和加强了独立自主的能力。我们要学会充分利用资料!并不是一个人独立完成一个程序,就是不错的。要学会吸收,去查阅参考资料,充分利用网上资源,有时,看一些程序也是十分有用的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号