C++双向链表实现简单通讯录双向链表实现简单通讯录
主要为大家详细介绍了C++双向链表实现简单通讯录,文中示例代码介绍的非常详细,具有一定的参考价值,感
兴趣的小伙伴们可以参考一下
本文实例为大家分享了C++双向链表实现简单通讯录的具体代码,供大家参考,具体内容如下
#include<iostream>
#include<fstream>
#include <stdlib.h>
#include<string>
using namespace std;
typedef struct Directory
{
string Name;
string Mobile;
string Wechatnumber;
string STREET;
string CITY;
string EIP;
string STATE;
struct Directory* next;
struct Directory* prev;
}Directory;
//头节点初始化
Directory p0 = {"0","0","0","0","0","0","0",NULL,NULL};
Directory pn = {"0","0","0","0","0","0","0",NULL,NULL};
//设置头指针,指向头节点
Directory *head = &p0;
//函数声明
void enter(Directory*);
void display_list();
void printf_a();
void display_menu(Directory*);
int key_ramove(string);
void display_listfiile();
Directory* find_load(string);
Directory* load();
int main()
{
cout<<"========================================"<<endl;
cout<<"= 通 讯 录 ="<<endl;
cout<<"= ="<<endl;
cout<<"= ="<<endl;
cout<<"= 1.添加 2.删除 3.查找 4.查看通讯录 ="<<endl;
cout<<"========================================"<<endl;
int i = 0; //定义按键变量,存放键值
string key; //定义字符串变量,存放输入的字符串
p0.next = &pn; //这俩句是初始化头尾节点,头尾节点连起来
pn.prev = &p0;
while(1)
{
cin>>i; //输入i,用于选择第几个功能
switch(i){ //选择,i等于几,就执行case几
case 1:
load(); //新建节点并插入链表
cout<<endl;
cout<<"添加完成!!!"<<endl;
printf_a();
break;
case 2:
cout<<"请输入名字:";
cin>>key;
key_ramove(key); //删除节点,就是删除一个人的信息
printf_a();
break;
case 3:
cout<<"请输入名字:";
cin>>key;