- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c课程的设计电话薄管理
VC++课程设计
————电话薄管理
李冬运 912110190237
一 题目要求
程序功能
一个电话簿管理小程序。利用文本文件储存电话簿数据,具有添加,删除,显示和查询联系人电话号码的功能。
(1)将电话簿数据和相应的函数封装在类中,改写程序使之结构化。
(2)增加纪录修改功能,能选择修改用户的姓名,电话等信息。
(3)增加录入时间的显示及储存。
(4)增加缺省的查询方式,即查询时只输入姓名的首字母,所有符合这一条件的电话资料均在屏幕上显示。
二 课程设计解决问题和过程
(1)程序的设计思想是什么?
运用学习的文件流的知识对文件进行操作,原程序将电话簿数据存放在文本文件中,在程序开始运行时将数据读入系统文件,在程序运行期间使用单向链表来添加,删除,管理数据。在程序结束前再将数据写回文本文件,这样的结构比较合理,不会造成数据的丢失,课程设计的要求是根据这一结构将数据与函数封装起来。
关于如何增加时间单元的储存与显示
课程设计要求将电话簿录入时间的系统时间纪录并显示,这就需要学会调用系统的dos命令,比如system(“date”)就可以调用系统的日期,然后在程序中显示出来。还有其他的各种系统命令,在程序中或多或少都有体现。
(3)修改后的程序 以及封装
就是充分利用函数和类,主函数只写一点点。主函数中多次调用函数,在主函数外完成各函数定义等。我设计的管理项目主要包括以下几个:
1.添加联系人纪录
2.显示电话簿内容
3.根据姓名查询电话簿数据
4.根据姓名删除电话簿数据
5.根据姓名修改电话簿数据
6.智能查找电话簿数据
7.帮助
0.退出系统
主要功能都不在主函数里,而是用了类的知识在。我这里按照书上提示的定义了三个类,一个电话簿记录类,一个链表类,一个节点类。
主要的类,程序中有一个选择函数,可以通过这个函数来实现各种功能。
注意:
在修改电话簿数据时,首先询问是只修改电话号码还是只修改姓名,如果只修改电话号码,则找到该结点后将新的电话号码更新即可;如果需要修改姓名,就需要先删除原结点,然后建立新结点,输入新的姓名、电话、将这个结点插入到链表中,因为电话簿是按姓名顺序排列的。
(4)如何设计修改功能的函数
基本思路:查找目标---建立新信息---插入新信息---删除原记录。首先根据姓名查找用户的方法找到需要修改的目标,然后建立一个新结点输入修改的内容,此时新信息储存在新结点中,再将新结点插入到链表中并将查找到的需要修改的结点删除。使用了查找函数、增加函数、删除函数这三个函数的思路。
三 程序调试分析
在程序的调试过程中我遇到了种种困难,首先是出现的各种errors,一出现就是好多,我还要一个一个去找,鉴于程序中三个类的函数太多,查找起来十分不便。最难搞的就是链表的内容,一不小心就出现各种错误。考虑不周全,没有想到空链表,还有各结点处的数据处理,很是头疼。当然还有开始没考虑到的确认删除函数,询问是否继续函数等,在学姐同学的帮助下,终于调试正确!
四 程序调试(截图版)
五 总结
编这个程序真是耗费了我相当多的人力财力与物力,最先选的就是这题,后来觉得这题太难,真心不会,就决定换一题。然后我又想不能挑太简单的,觉得至少是中等难度,希望通过编写程序更多地提高自己。于是选了解方程的那个题,周日整天对着电脑越改越错,越改errors越多,我真不知道该怎么办了。最后决定还是认真做电话薄管理。通过我的不懈努力,现在终于完成,我感到深深的自豪与激动,还有一定得感谢一下在此次编程中帮助我的人。这次VC++程序设计让我对知识进行了一次总结和巩固,而通过这次做课程设计,也使我明白了实践的重要性,我现在也很愿意做一些实践活动,来提高自己的能力。这次做课程我真的受益非浅,我以后会多参与这种活动来锻炼自己的。链表部分我会一如既往好好努力,请看我的作业。
六 附录
源程序:
#includeiostream.h
#includeconio.h//conio.h 是 Console (键盘和屏幕) 输出输入函数的头文件,con -- Console,
#includefstream.h
#includeiomanip.h
#includestring.h
#includestdlib.h
char pause;
class CTelRecord //电话簿记录类
{
private:
char date[20];
char time[20];
char szName[20];//电话簿的数据:姓名和电话号码
char szNumber[20];
c
您可能关注的文档
最近下载
- 幼儿园多功能厅和安全设施采购 投标方案(技术方案).doc
- 2025广东江门市江海区建设工程质量检测站合同制工作人员招聘5人笔试备考题库及答案解析.docx VIP
- 第5课用发展的观点看问题教学设计-2023-2024学年中职高教版(2023)哲学与人生.docx VIP
- ASME B1.15-1995 统一英寸螺纹(UNJ螺纹形式).pdf VIP
- 个人二手车买卖合同协议书(标准版).doc VIP
- 普兰店市城市主干路施工组织设计(投标)_secret.doc
- 2024年福建省福州市鼓楼区华大街道招聘社区工作者真题及参考答案详解一套.docx VIP
- 2024年福建省福州市鼓楼区华大街道招聘社区工作者真题及参考答案详解.docx VIP
- 2025年新北师大版数学二年级上册全册教案.pdf
- 第5课 用发展的观点看问题 教学设计-2024-2025学年中职思想政治高教版(2023)哲学与人生.docx VIP
文档评论(0)