c++课程设计---电话簿管理

c++课程设计---电话簿管理

ID:11587420

大小:168.50 KB

页数:20页

时间:2018-07-12

c++课程设计---电话簿管理_第1页
c++课程设计---电话簿管理_第2页
c++课程设计---电话簿管理_第3页
c++课程设计---电话簿管理_第4页
c++课程设计---电话簿管理_第5页
资源描述:

《c++课程设计---电话簿管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、VisualC++课程设计实验报告题目:电话薄管理班级:07102003学号:0710200310姓名:指导老师:2008年9月实验题目:5-5电话薄管理一、课程设计要求:功能介绍:一个电话薄管理小程序。利用文本文件存储电话薄数据,具有添加、删除、显示和查询联系人号码的功能。(1)将电话薄数据和相应的函数封装在类中,改写程序使之结构化。(2)增加记录修改功能,能选择修改用户的姓名、电话。(3)增加录入时间的显示及存储。(4)增加缺省的查询方式,即查询时只输入姓名的首字母,所有符合这一条件的电话资料均在屏幕上显示。平定难易等级:A级。二、程序设计思想(相关问题解决办法):类封装成类是首先

2、遇到的问题,我根据课程设计书上的提示,通过看书和与同学讨论,最后比较清楚地明白了类的封装方法。我在封装时,在类中定义了一些内联函数,并且把函数都定义为公有成员,这样可以方便类外的函数使用成员数据。书上的参考程序与我的稍有不同。增加时间这个是通过互联网学到的,利用time.h。3)增加修改功能我定义了friend_node::modify_record函数,用来修改用户的姓名、电话。在函数中,我运用了if-else,switch等语句并对函数进行了重载。并且本程序可以选择修改,姓,名,电话。首字母查询这是一个比较难解决的问题,我使用了与全名查找基本相同的函数,我只要求姓相同,全名查找要求

3、姓和名全部相同。我在这个的解决上还存在一些问题,这证明程序还是不够完善。这说明我对指针的使用还不够好。三、课程设计心得:本来打算选计算器,后来觉得计算器编起来没什么意思,就换成了这个难一点儿的电话薄管理。在程序编写过程中,我发现,不只是难了一点儿。但是,有难度才有挑战,才有乐趣,不是么?看到源程序,立马被其拥有的函数的数量震撼了。把它们封装起来费了我不少精力。但是,看着它们由零散的函数变为整齐的类,就如同看到C语言向C++语言进化。课程还提出了要增加时间单元。在VB里面,只需要把一个小钟表图标拖进来就可以了,而在C++里面,我尚且不知如何操作。最后通过互联网,才算学会在C++中调用时间

4、单元。也算是学了一招吧。通过这次C++的课程设计,我的知识得到了巩固,同时也学到了很多新知识。我意识到,我们不应是为了编程而编程,而是为了解决问题而编程。编出来的程序能够为我们服务,程序才有意义。一、以下是我所编写的程序源代码及相关注解:/*第5题电话簿管理--源代码及关键源代码注解如下:*///PhoneBook1.0ByMarkMiller#include#include#include#include#include#include#include

5、e.h>//全程结构及变量classfriend_node//类类型定义,包括:姓、名和电话号码{tm*CurrentTime;//定义时间指针charlast_name[20];//姓charfirst_name[15];//名charphone_num[12];//电话号码intnYear,nMonth,nDay,nHour,nMinute;//定义friend_node*next,*prev;charpause;//定义一字符型变量,用于接受输入的任意键public://函数原形说明voidhandle_choice(intchoice);//处理选择voidadd_record

6、();//增加记录voidinsert_node(friend_node*new_rec_ptr);//插入节点friend_node*position_insertion_point(charlastname[20]);//寻找节点插入位置voidmake_node_new_head(friend_node*new_rec_ptr);//插入链首voidadd_node_to_end(friend_node*new_rec_ptr);//插入链尾voidmove_current_to_end();//使当前指针指向链尾voiddisplay_list();//显示链表voiddele

7、te_record();//删除记录voiddelete_head_of_list();//删除链首voiddelete_end_of_list(friend_node*previous_ptr);//删除链尾voiddelete_from_middle_of_list(friend_node*previous_ptr);//删除链表中一节点intverify_delete();//确认是否删除voiddelete_node(friend_no

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。