1、 VC+VC+课程实验报告课程实验报告 课 程: VC+课程设计 系 别: 计算机软件系 班 级: 学 号: 姓 名: 选题名称: 电话簿管理 起止时间: 2013 年 12 月 指导教师: 20132013 年年 12 12 月月 1 目目 录录 1 课题目标课题目标 程序基本功能: 一个基本的电话簿管理程序,具有插入、删除、显示、修改和查询联系人电话号码的功能。 课程设计要求: (1) 增加记录修改功能(姓名和电话号码) 。 (2) 增加显示功能(对链表提供逐屏显示选择而且可以由用户确定每屏显示数目) 。 (3) 汉化菜单和帮助。 (4) 程序的结构改写,采用双链表结构,用类和对象重建系统
2、。 评定难易级别: A 级 2 程序具体实现原理程序具体实现原理 2.1 总体方案总体方案 (1) 程序采用双向链表数据结构实现。 (2) 用类来实现数据的封装。 (3) 使用文件的输入输出流实现对记录的保存与读取。 2.1.1 开发平台开发平台 操作系统:Win7 开发软件:Mirosoft Visual C+ 6.0 2.1.2 基本原理基本原理 开始 进入欢迎界面 进入主菜单 用户选择功能 添加联系人 删除联系人 按姓名查找联系人 修改联系人资料 显示所有联系人 帮助 退出 由有户选择显示数 选择帮助选项 结束 2 2.2 程序各个功能说程序各个功能说明明 2.2.1 程序结构程序结构
3、1.类的封装: class Friend_node public: char name35; char phone_number15; Friend_node *next; void write_list_to_file(); void load_list_from_file(); void add_record(); void delete_record(); void change_record(); void add_change_record(Friend_node *new_record_ptr); void search_record(); void display_all_rec
4、ords(); void help(); void main_menu(); void help_menu(); void insert_node(Friend_node *new_record_ptr); void make_node_new_head(Friend_node *new_record_ptr); void add_node_to_end(Friend_node *new_record_ptr); void move_current_to_end(); void delete_node(Friend_node *previous_ptr); void delete_head_o
5、f_list(); void delete_end_of_list(Friend_node *previous_ptr); void delete_from_middle_of_list(Friend_node *previous_ptr); int verify_delete(); void delete_list(); ; 3 2.2.2 课程设计要求的实现课程设计要求的实现 1.1.用类用类 Friend_nodeFriend_node 重建系统;重建系统; 2.2.增加了函数增加了函数 change_record()change_record()用于修改联系人资料,利了用于修改联系人资
6、料,利了 原来的删除功能原来的删除功能delete_record()delete_record()和添加功能和添加功能add_record()add_record() 进行对原有资料的修改;进行对原有资料的修改; /修改联系人资料修改联系人资料/ void Friend_node:add_change_record(Friend_node *new_record_ptr) Friend_node *previous_ptr; previous_ptr=NULL; delete_node(previous_ptr); coutnew_record_ptr-name; coutnew_record_ptr-phone_number; insert_node(new_record_ptr); void Friend_node:change_record() Friend_node *new_record_ptr; new_record_ptr=new Friend_node; system(“cl