一、课程设计题目
李刚是一爱折腾的人,当然爱折腾的人均有梦想,他想当中国的盖次呢。可不,现在个人好友信息多了,复杂了,他想制作一个个人通讯录的制作管理软件。 刚好这个学期学了数据结构课,所以他准备使用数据结构知识来实现了。并考虑使用双向链表作数据结构。并制定了初步要求:
(1)每个好友信息包含姓名、性别、住址、邮编、几岁、电话、QQ、微信帐号、生日等。
(2)作为一个完整的系统,应具有友好的界面和较强的容错能力。
二、课程设计目的
通过课程设计,学会运用数据结构知识,针对具体应用,自己设计合理数据结构,确定存储结构,并能设计具体操作算法,选择使用具体语言进行实现。掌握C++较复杂程序的组织和设计过程,调试技巧。学习解决实际问题的能力。
三、课程设计要求
使用数据结构相关知识来做。语言工具不受限。
1、独立完成,设计算法并编写代码,调试通过。
2、写设计说明书。
内容:题目、功能、要求、分析、代码,收获和体会及不足等。
3、以个人独立完成。每一个选择一个题目。选题方式是:自己学号整除5所得的余数是几就做几号题。如学号为12做2号题,学号为5的做0号题。
四、需求分析
1、程序描述
这是通过运用双向链表为数据结构做成的通讯录系统,比较简洁便利,能过实现添加,删除,查看功能,收录个人信息
2、功能实现
1.)添加通讯录
2.)删除通讯录
3.)查找通讯录
4.)退出通讯录
//persson.h头文件
#ifndef person_H
#define person_H
struct person
{
person *pre;
char Name[15];
char Sex[4];
char Age[4];
char Number[15];
char Address[20];
char qq[40];
char postalcode[12];
/*省略qq,wechat,birthday,与Number输入一样,birthday用Age减2015,书上多次提到了*/
person *next;
};
class personmanege
{
private:
person *head;
person *tail;
person* temp;
public:
personmanege() { head = NULL; tail = NULL; }
~personmanege() { head = NULL; tail = NULL; }
void ShowMenu();
void Show();
void Search();
void Add();
void Delete();
};
#endif
//personmanage源文件
#include<iostream>
#include<cstring>
#incl