C++课程设计报告--电话簿管理程序_第1页
C++课程设计报告--电话簿管理程序_第2页
C++课程设计报告--电话簿管理程序_第3页
C++课程设计报告--电话簿管理程序_第4页
C++课程设计报告--电话簿管理程序_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南京理工大学紫金学院VC课程设计报告长春大学VC+课程实验报告课 程:VC+课程设计系 别:计算机软件系班 级:11403班学 号:271040436姓 名:任川河选题名称:电话簿管理起止时间:2013年12月指导教师:杜威2013年 12 月目 录1 课题目标程序基本功能:一个基本的电话簿管理程序,具有插入、删除、显示、修改和查询联系人电话号码的功能。课程设计要求:(1) 增加记录修改功能(姓名和电话号码)。(2) 增加显示功能(对链表提供逐屏显示选择而且可以由用户确定每屏显示数目)。(3) 汉化菜单和帮助。(4) 程序的结构改写,采用双链表结构,用类和对象重建系统。评定难易级别: A级2

2、程序具体实现原理2.1 总体方案(1) 程序采用双向链表数据结构实现。(2) 用类来实现数据的封装。(3) 使用文件的输入输出流实现对记录的保存与读取。2.1.1开发平台操作系统:Win7 开发软件:Mirosoft Visual C+ 6.0开始2.1.2基本原理进入欢迎界面进入主菜单用户选择功能添加联系人删除联系人修改联系人资料帮助按姓名查找联系人显示所有联系人结束退出选择帮助选项由有户选择显示数2.2 程序各个功能说明2.2.1 程序结构1.类的封装:class Friend_nodepublic:char name35; char phone_number15; Friend_node

3、 *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();void help();void main_menu();void help_menu();void insert_node(Friend_node *new_

4、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();void delete_end_of_list(Friend_node *previous_ptr);void delete_from_middle_of_list(Frie

5、nd_node *previous_ptr);int verify_delete();void delete_list();2.2.2 课程设计要求的实现1.用类Friend_node重建系统;2.增加了函数change_record()用于修改联系人资料,利了原来的删除功能delete_record()和添加功能add_record()进行对原有资料的修改;/修改联系人资料/void Friend_node:add_change_record(Friend_node *new_record_ptr)Friend_node *previous_ptr;previous_ptr=NULL;del

6、ete_node(previous_ptr);cout<<"输入新姓名:"<<endl;cin>>new_record_ptr->name;cout<<"输入新电话号码:"<<endl;cin>>new_record_ptr->phone_number;insert_node(new_record_ptr);void Friend_node:change_record()Friend_node *new_record_ptr;new_record_ptr=new Frie

7、nd_node;system("cls");char search_string35;current_ptr=head_ptr;cout<<"输入你想要修改的联系人姓名:"<<endl;cin>>search_string;while(current_ptr!=NULL)&&(strcmp(current_ptr->name,search_string)!=0)current_ptr=current_ptr->next;if(current_ptr!=NULL)cout<<&qu

8、ot;n找到联系人!n"cout<<"姓名"<<" "<<"联系电话"<<endl;cout<<"*"<<endl;cout<<current_ptr->name<<" "<<current_ptr->phone_number<<endl;add_change_record(new_record_ptr);elsecout<<"联系人

9、不存在"<<endl;cout<<"按下回车键回到主菜单"<<endl;getchar();system("cls");main_menu();3.在原有的显示功能的基础上添加了一个计数器person_count来实现逐屏显示的功能并可以设定显示数目;/显示联系人/void Friend_node:display_all_records()int person_count;int temp_person_count=0;char fullname36;current_ptr=head_ptr;cout<

10、<"每屏显示多少联系人?"<<endl;cin>>person_count;if(current_ptr!=NULL)display:cout<<"姓名"<<" "<<"联系电话"<<endl;cout<<"*"<<endl;for(temp_person_count=0;current_ptr!=NULL&&temp_person_count<person_count;)

11、temp_person_count+;strcpy(fullname,"");strcat(fullname,current_ptr->name);cout.setf(ios:left);cout<<setw(12)<<fullname;cout.unsetf(ios:left);cout.setf(ios:right);cout<<setw(24)<<current_ptr->phone_number<<endl;current_ptr=current_ptr->next;cout<<

12、;endl;for(;current_ptr!=NULL;)cout<<"按下回车键进入下一页"<<endl;getchar();system("cls");goto display;elsecout<<"没有联系人!"<<endl;cout<<"按下回车键回到主菜单"<<endl;current_ptr=head_ptr;getchar();system("cls");main_menu();4.菜单和帮助的汉化;/主菜单

13、/void Friend_node:main_menu()main_menu:int choice;cout<<"*主菜单*"<<endl;cout<<"*"<<endl;cout<<"1 - 添加联系人;"<<endl;cout<<"2 - 删除联系人;"<<endl;cout<<"3 - 修改联系人资料;"<<endl;cout<<"4 - 显示所有联

14、系人;"<<endl;cout<<"5 - 按姓名查找联系人;"<<endl;cout<<"6 - 帮助;"<<endl;cout<<"7 - 保存记录并退出程序。"<<endl;cout<<"请输入你想要执行的选项:"<<endl;cin>>choice;switch(choice)case 1:system("cls");add_record();break;ca

15、se 2:system("cls");delete_record();break;case 3:system("cls");change_record();break;case 4:system("cls");display_all_records();break;case 5:system("cls");search_record();break;case 6:system("cls");help_menu();break;case 7:write_list_to_file();if(head

16、_ptr!=NULL)delete_list();break;default:system("cls");cout<<"错误的选项!"<<endl;cout<<"按下回车键回到主菜单"<<endl;getchar();system("cls");goto main_menu;break;/帮助/void Friend_node:help_menu()help:int choice;cout<<"1-我的记录呢?"<<endl

17、;cout<<"2-怎样可以清空记录?"<<endl;cout<<"3-什么时候会有新版本?"<<endl;cout<<"4-新版本会有些什么功能?"<<endl;cout<<"5-返回主菜单。"<<endl;cin>>choice;system("cls");switch(choice)case 1:cout<<"在当前目录下找到一个名为“Friends.dat”的

18、文件。"<<endl;cout<<"如果找不到该文件可能是因为该文件被删除或被重命名,若该文件被重命名,则将其更名为Friends.dat。"<<endl;cout<<"按下回车键回到帮助菜单"<<endl;getchar();system("cls");goto help;break;case 2:cout<<"在当前目录下找到一个名为“Friends.dat”的文件并删除。"<<endl;cout<<&qu

19、ot;按下回车键回到帮助菜单"<<endl;getchar();system("cls");goto help;break;case 3:cout<<"有新版本时我们会进行通知。"<<endl;cout<<"按下回车键回到帮助菜单"<<endl;getchar();system("cls");goto help;break;case 4:cout << "我们可能会添加以下功能:"<<endl;cout << "1.多用户和设置密码"<<end

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论