1、 C+C+课程设计报告课程设计报告 课 程: C+课程设计 系 别: *系 班 级: *班 学 号: * 姓 名: * 选题名称: 电话簿管理 选题难易级别: 起止时间: *年*月 指导教师: * *年年 * * 月月 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 程序结构程序结构 1.类的封装:
3、 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_records();
4、 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_of_list(
5、); 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(); ; 2.2.2 课程设计要求的实现课程设计要求的实现 1.用类 Friend_node 重建系统; 2.增加了函数 change_record()用于修改联系人资料,利用了原来的删除功能 delete_record() 和添加功能 add_record()进行对原有资料的修改; 3 /修
6、改联系人资料/ 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(“cls“); char search_string35; current_ptr=head_ptr; coutsearch_string; while(current_p