C++课程设计报告--电话簿管理
CC课程设计报告课程设计报告 课 程 C课程设计 系 别 ***系 班 级 ***************班 学 号 ********* 姓 名 *** 选题名称 电话簿管理 选题难易级别 起止时间 ****年**月 指导教师 ** ********年年 ** ** 月月 1 目目 录录 1 课题目标课题目标 程序基本功能 一个基本的电话簿管理程序,具有插入、删除、显示、修改和查询联系人电话号码的功能。 课程设计要求 (1) 增加记录修改功能(姓名和电话号码) 。 (2) 增加显示功能(对链表提供逐屏显示选择而且可以由用户确定每屏显示数目) 。 (3) 汉化菜单和帮助。 (4) 程序的结构改写,采用双链表结构,用类和对象重建系统。 评定难易级别 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.类的封装 class Friend_node { public char name[35]; char phone_number[15]; 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_recordFriend_node *new_record_ptr; void search_record; void display_all_records; void help; void main_menu; void help_menu; void insert_nodeFriend_node *new_record_ptr; void make_node_new_headFriend_node *new_record_ptr; void add_node_to_endFriend_node *new_record_ptr; void move_current_to_end; void delete_nodeFriend_node *previous_ptr; void delete_head_of_list; void delete_end_of_listFriend_node *previous_ptr; void delete_from_middle_of_listFriend_node *previous_ptr; int verify_delete; void delete_list; }; 2.2.2 课程设计要求的实现课程设计要求的实现 1.用类 Friend_node 重建系统; 2.增加了函数 change_record用于修改联系人资料,利用了原来的删除功能 delete_record 和添加功能 add_record进行对原有资料的修改; 3 //修改联系人资料// void Friend_nodeadd_change_recordFriend_node *new_record_ptr { Friend_node *previous_ptr; previous_ptrNULL; delete_nodeprevious_ptr; coutnew_record_ptr-name; coutnew_record_ptr-phone_number; insert_nodenew_record_ptr; } void Friend_nodechange_record { Friend_node *new_record_ptr; new_record_ptrnew Friend_node; system“cls“; char search_string[35]; current_ptrhead_ptr; coutsearch_string; whilecurrent_p