利用线性表实现通讯录管理

本文介绍了如何使用C++编程实现一个通讯录管理程序,包括建立通讯录、添加联系人、删除联系人、修改联系人信息及查询联系人等功能,并且提供了一个简单的命令行交互界面供用户操作。
摘要由CSDN通过智能技术生成

//实现通讯录的建立、增加、删除、修改、查询等功能

// 能够实现简单的菜单交互,即可以根据用户输入的命令,选择不同的操作。

#include<iostream> 
#include<cstring> 
using namespace std;


struct DataType
{
int ID;       //编号
char name[10]; //姓名
char ch; //性别
char phone[13]; //电话
char addr[31]; //地址


DataType *prior;
DataType *next;


};


int m = 0;                    //全局变量,记录通讯录内数据个数


class Contacts
{
DataType *first;            //定义头结点


public:
Contacts();                 //建立
void Insert();              //增加
void Delete();              //删除
void Revise();              //修改
void Search();              //查找
void Show();                //浏览
void Print(DataType *p);    //输出
void MENU();                //菜单 
~Contacts();
};




//构造函数,建立头结点
Contacts::Contacts()
{
first = new DataType;
first->next = first->prior = first;
first->ID = 0;
}




//析构函数
Contacts::~Contacts()
{


DataType *p = first->prior;
DataType *q;


if (p == first)
delete p;
else
{
do
{
q = p;
p = p->prior;
delete q;


} while (p != first);


delete p;
}
}




//添加联系人(头插法)
void Contacts::Insert()
{
DataType *data = new DataType;




data->next = first->next;
data->prior = first;
first->next = data;
data->next->prior = data;


m++;
data->ID = m;


//录入信息
cout << "请输入联系人姓名:";
cin >> data->name; cin.sync();
flag1:cout << endl << "请输入联系人性别( M(男) or W(女) ):";
  • 21
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值