目录1课程设计的目的、要求及任务容 (1)1.1课程设计的目的及要求 (1)1.1.1设计目的 (1)1.1.2设计要求 (1)1.2 课程设计任务容 (2)2详细设计说明 (3)2.1功能使用说明 (3)2.1.1查看功能 (3)2.1.2增加功能 (3)2.2函数流程图 (4)2.2.1函数流程 (4)2.2.2增加功能: (5)2.3 编码及测试 (6)2.3.1查找功能 (6)2.3.2增加功能 (8)2.4 程序测试所遇到的问题 (14)3心得体会 (15)附录 (16)程序清单 (16)1课程设计的目的、要求及任务容1.1课程设计的目的及要求1.1.1设计目的C++课程设计是教学实践环节中一项重要容,进行此课程设计旨在:提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质;培养学生独自分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新月异的发展形势;本次课程设计是以学生独立思考解决问题为主,教师指导为辅,结合上机操作,完成指定的任务,作出设计报告。
1.1.2设计要求手机通信录系统信息包括:查看功能、增加功能、修改功能、删除功能。
(1)、查看功能:选择此功能时,列出下列四个选项:1.办公类2.个人类3.商务类4.全部。
当选中某类时,显示出此类数据中的所有和。
(2)、增加功能:能录入新数据,每个结点包括编号、、、个人信息、类型以及信息类型。
当录入重复的时,系统会提醒“该已经存在,不能重复插入!”;当添加超过15条时,系统会提醒“本通讯录最多存储15条信息,已满!不能再插入,抱歉!”;新数据:当录入新数据时,系统能按照递增顺序对条目进行编号。
(3)、修改功能:选择要修改的人的编号,可以对此人进行相应的信息的修改。
(4)、删除功能:选择要删除的人的编号,可以对此人的信息删除,并自动调整后续条目的编号。
1.2 课程设计任务容设计一个简易的手机通信录管理系统。
要求熟练掌握C语言的基本知识:数据类型(整型、实型、字符型、指针、数组、结构等)、运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等)、程序结构(顺序结构、判断选择结构、循环结构)、大程序的功能分解方法(即函数的使用)等。
进一步掌握各种函数的应用。
用C/C++设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。
功能要求:(1)查看功能:选择此功能时,列出下列三类选择。
1 办公类2 个人类3 商务类,当选中某类时,显示出此类所有数据中的和)(2)增加功能:能录入新数据(一个结点包括:、、分类(可选项有:1 办公类 2 个人类 3 商务类)、电子)。
例如春商务类 chuny126.当录入了重复的时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。
(3)修改功能:选中某个人的时,可对此人的相应数据进行修改(4)删除功能:选中某个人的时,可对此人的相应数据进行删除,并自动调整后续条目的编号。
2详细设计说明2.1功能使用说明2.1.1查看功能选择查看功能时,列出下列四个选择:1.办公类 2.个人类 3.商务类 4.全部。
当选中其中某类时,显示此类的联系人所有信息,例如1)进入主菜单后,选择“1.查看联系人”,然后按回车键(如图2.3.1);2)进入查看界面,选择“2.个人类”,然后按回车键(如图2.3.2);3)查看自己所要查看的联系人,最后出现 1 jixiaoying 学生459794291qq.个人类(如图2.3.3);4)选择“是否返回主菜单Y/N”(如图2.3.3)。
2.1.2增加功能能录入新数据(一个结点包括:、、分类(可选项有:1.办公类 2.个人类2.商务类)、个人信息、)。
当录入了重复的时,则提示数据录入重复;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。
例如想要增加联系人斌:1)进入主菜单后选择操作“2.增加联系人”,然后按回车键(如图2.3.4);2)进入增加1.1信息界面(如图2.3.5);3)根据要求输入所加联系人的、所添加的信息类、、个人信息、地址。
然后按回车键(如图2.3.5);4)当界面出现“插入成功”时,表明已经增加新的联系人(如图2.3.5);5)选择“继续添加新的信息Y/N”(如图2.3.5);6)当输入的已经存在时,系统会提醒“该已经存在,不能重复插入”(如图2.3.6);7)选择“继续添加新的信息Y/N”(如图2.3.6);8)当输入条目数已经达到系统设定的最大条数15条时,系统会提醒“本通讯录最多存储15条信息,已满!不能再插入,抱歉!”(如图2.3.7);9)选择“继续添加新的信息Y/N”(如图2.3.7和图2.3.8)。
2.2函数流程图图2.2.12.2.1图2.2.2进入主菜单后,选择查看选项,进入后选择查看的类型,系统显示条目后,选择是否返回主菜单,选“Y”则回到主菜单,选“N”则继续查看。
2.2.2增加功能:图2.2.3进入主菜单后,选择增加条目,根据系统提示分别输入、、类别、个人信息、地址,然后选择是否继续添加,选“Y”则继续添加条目,选“N”则返回主菜单;当增加的条目重复时,系统会提示“该已经存在,不能重复插入”;当输入的条目超过系统设置的最大容量时,系统会提示“本通讯录最多存储15条信息,已满!不能再插入,抱歉!”。
2.3 编码及测试2.3.1查找功能关键代码:int operiate::Find(int ID1,date **p1,date **p2) {*p1=PL->next;*p2=PL;while(*p1){if((*p1)->No==ID1)break;else{*p2=*p1;*p1=(*p1)->next;}}return *p1?1:0;}int operiate::Find2(char *ID2,date **p3,date **p4) {*p3=PL->next;*p4=PL;while(*p3){if(strcmp((*p3)->phonenum,ID2)==0)//((*p3)->phonenum==ID2) break; //找到else{*p4=*p3;*p3=(*p3)->next;}}return *p3?1:0;}运行结果:图2.3.1进入界面图2.3.2选择查看类别图2.3.3查看信息2.3.2增加功能关键代码:void operiate::Add(){{date *p3,*p4;cout<<"-----------------------------------------------------------------"<<endl ;cout<<endl;cout<<".......................... 增加信息 ............................."<<endl;cout<<"请输入要插入的:";cin>>phone;cout<<endl;if(!Find2(phone,&p3,&p4)){if(Count<15){date *p=PL;while(p->next)p=p->next;cout<<"有如下信息分类:"<<endl;cout<<endl;cout<<"1.办公类 2.个人类 3.商务类:"<<endl;cout<<endl;cout<<"请选择要增加的信息类: " ;cin>>ch;cout<<endl;office *po;individual *pi;business *pb;switch(ch){case 1: po=new office; po->Input();p->next=po;break;case 2: pi=new individual; pi->Input();p->next=pi;break;case 3: pb=new business; pb->Input();p->next=pb;break;default: return;}cout<<" *********************"<<endl;cout<<" * 插入成功! *"<<endl;cout<<" *********************"<<endl;cout<<endl;cout<<"-----------------------------------------------------------------"<<endl ;}else{cout<<" *****************************************************"<<endl; cout<<" * *"<<endl; cout<<" * 本通讯录最多存储15条信息,已满! *"<<endl; cout<<" * 不能再插入,抱歉! *"<<endl; cout<<" * *"<<endl; cout<<" *****************************************************"<<endl; cout<<endl;cout<<"-----------------------------------------------------------------"<<endl;}}else{cout<<" *****************************************************"<<endl; cout<<" * 该已经存在,不能重复插入! *"<<endl;cout<<" *****************************************************"<<endl; cout<<endl;cout<<"-----------------------------------------------------------------"<<endl ;}}}运行结果:图2.3.4进入界面图2.3.5输入信息图2.3.6重复输入图2.3.7已经输入15条信息图2.3.8超过最大容量2.4 程序测试所遇到的问题在测试程序时,发现了一下问题:1.增加功能中,添加的条目不能保存在文档中,在下一次打开此程序时,前一次输入的数据都没有保存;2.查看功能中,如果三个分类中都存在联系人,当要查看其中一个分类的联系人时,系统不能显示所在分类的联系人。