1、VC+课程设计报告 课题名称:电话簿管理 一. 程序功能简介 一个电话簿管理小程序。利用文本文件储存电话簿数据,具有添加、删除、显示和查询联 系人电话号码的功能。 二. 课程设计要求 (1) 将电话簿数据和相应的函数封装在类中,改写程序使之结构化。 (2) 增加纪录修改功能,能选择修改用户的姓名,电话等信息。 (3) 增加录入时间的显示及储存。 (4) 增加缺省的查询方式,即查询时只输入姓名的首字母,所有符合这一条件的电话资 料均在屏幕上显示。 三. 程序设计思想 1) 类的结构 原程序将电话簿数据存放在文本文件中,在程序开始运行时将数据读入链表中,在程序运 行期间使用单向链表来添加,删除,管
2、理数据。在程序结束前再将数据写回文本文件,这 样的结构比较合理,课程设计的要求是根据这一结构将数据与函数封装起来。参考结构如 下: Class CTelRecord /电话簿记录类 Private: Int nYear,nMonth,nDay,nHour,nMinute: /时间单元 Char szName20; /电话簿的数据:姓名和电话号码 Char szName20; Public: CTelRecord(); CTelRecord(char*name,char*number); /构造函数 V oid SetRecord(char*name,char*number); /输入数据函数
3、Int Compare(CTelRecord /比较函数,比较姓名 V oid show(); /打印数据函数 V oid Modify(char*number); /修改结点的电话号码 Int LookChar(char*szName); /根据首字母查找匹配的姓名 ; Class CNode /定义结点类 Private: CTelRecord*pData; /用于指向数据类的指针 CNode*pNext; /指向链表下一个结点的指针 Public: CNode()pData=0:pNext=0 /结点构造函数 CNode(CNode /用于拷贝的构造函数 V oid InoutData(
4、CTelRecord*pdata)pData=pdata /输入数据 V oid showNode()pData-Show(); CTelRecord*GetData()retuen pData; Friend class CList; /定义链表为友元类 ; Class Clist /定义链表类 CNode*pHead; /链表头结点指针 Public: CList()pHead=0; CList()DeleteList(); V oid AssNode(CNode*pnode); /在首部添加结点 CNode*Delete(CNode*); /删除一个指定结点,返回该结点的指针 CNode*LookUp(CTelRecord /*查找一个指定的数据返回该数据所在结点在链表中的 指针,若为找到返回*/ V oid ShowList(); /打印整个链表 V oid DeleteList(); /删除整个链表 CNode*Get