首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >链表版通讯录-C++

链表版通讯录-C++

作者头像
WindCoder
发布2018-09-20 14:38:16
5560
发布2018-09-20 14:38:16
举报
文章被收录于专栏:WindCoderWindCoder
/*
功能:通讯录
作者:wind
日期:2013-10-12
*/
#include <iostream>
#include <string>
using namespace std;

class Address
{
public:
	Address(string aName,string aTele);
	~Address();

	void printAddress(Address *head);
	void insertAddress(Address *head);
	void deleteAddress(Address *head);
	Address *next;

private:
	string m_aName;
	string m_aTele;

};

Address::Address(string aName=" ",string aTele=" "):
m_aName(aName),m_aTele(aTele){};
Address::~Address(){};

Address* creatList(void)
{
	Address *head;

	head = new Address;
	if (!head)
	{
		exit(0);
	}
	head->next=NULL;

	return head;

}

void Meu(void)
{
	cout<<"1.添加记录:"<<endl;
	cout<<"2.删除记录:"<<endl;
	cout<<"3.浏览记录:"<<endl;
	cout<<"4.退出系统:"<<endl;
	cout<<"请选择:";
}

void Address::insertAddress(Address *head)
{
	Address *p,*q;
	string name,tele;
	p = head;
	q = NULL;
	q = new Address;
	if (p->next==NULL)
	{
		cout<<"提示:通讯录中没有记录。"<<endl;
		cout<<"联系人:";
		cin>>q->m_aName;
		cout<<"电话:";
		cin>>q->m_aTele;
		p->next = q;
		q->next = NULL;
		p = p->next;

	}
	else
	{
		while (p->next)
		{
			p =p->next ;
		}
		printAddress(head);
		cout<<"联系人:";
		cin>>q->m_aName;
		cout<<"电话:";
		cin>>q->m_aTele;
		p->next = q;
		q->next = NULL;
		p = p->next;

	}


}

void Address::deleteAddress(Address *head)
{
	 int i,n;
	 Address*p,*q;


    p =  q = head;
     cout<<"请输入记录的序号:";
	 cin>>n;
     for (i=0;i<n;i++)
     {
         p =q;
		 q = q->next;
     }
	 if (q)
	 {

		 p->next = q->next;

	 }


}
void Address::printAddress(Address *head)
{
	Address*p=head;
	int i=1;
	while(p->next)
	{
		p = p->next;
		cout<<i<<"."<<p->m_aName<<" "<<p->m_aTele<<endl;
		i++;

	}
}


int main(void)
{
	Address *head;
	Address num;
	int choice;
	head = creatList();
	do
	{
		Meu();
		cin>>choice;
		switch(choice)
		{
		case 1:
			num.insertAddress(head);
			break;
		case 2:
			num.deleteAddress(head);
			num.printAddress(head);
			break;
		case 3:
			num.printAddress(head);
			break;
		case 4:
			break;
		}

	} while (choice!=4);



	delete head;
	system("pause");
	return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档