简单通讯录系统 (通过类实现)

#include <iostream>
#include <cstring>
#include <stdlib.h>
#include<iomanip>
#define M 10000

using namespace std;

class adlist;

class Information{
protected :
    string name ;
    string number;
    string QQ;
    string Email;
    string area;
public :
    friend class adlist;

};

class adlist
{
private :
    Information * N =new Information [ M ];
public :
    int adsize= 0 ;
    void add();
    int exist();
    void Afind();
    void Adelete();
    void change();

};

void showMenu()
{   cout << "通讯录系统" << endl;
	cout << "1.增加联系人 " << endl;
	cout << "2.查询联系人 " << endl;
	cout << "3.删除联系人 " << endl;
	cout << "4.修改联系人 " << endl;
	cout << "5.退出系统"<<endl;

}

void adlist::add()
{
    string name;
    string number;
    string QQ;
    string Email;
    string area;
    cout << "请输入姓名:" << endl;
    cout << "请输入电话号码:" << endl;
    cout << "请输入QQ:" << endl;
    cout << "请输入Email:" << endl;
    cout << "请输入籍贯:" << endl;
	cin >> name >> number >> QQ >> Email >> area ;
	N[adsize].name = name;
	N[adsize].number = number;
	N[adsize].QQ = QQ;
	N[adsize].Email = Email;
	N[adsize].area = area;
	adsize++;
	cout << "添加联系人成功!" << endl;

}
int adlist ::exist()
{
	string name;
	cout << "请输入要查找的联系人姓名:" << endl;
	cin >> name;
	for (int i = 0; i< adsize ;i++)
	{
		if (N[i].name == name)
		{
			return i;
		}

	}
    return -1;

}
void adlist :: Afind()
{   int e = exist();
	if (e != -1)
	{
		cout << "该联系人信息如下:" << endl;
		cout << "姓名:" <<N[e].name <<endl;
		cout << "电话号码:" <<N[e].number <<endl;
		cout << "QQ:" <<N[e].QQ<<endl;
		cout << "Email:" <<N[e].Email <<endl;
		cout << "籍贯:" <<N[e].area <<endl;

	}
	else
	{
		cout << "没有查到这个人!" << endl;

	}

}

void adlist ::Adelete()
{
	int e = exist();
	if(e != -1)
	{
		for (int i = e; i < adsize; i++)
		{

			{
				N[i] =N[i + 1];
			}
		}

		cout << "删除成功!" << endl;
	}
	else
	{
		cout << "没有这个人!" << endl;
	}

}

void adlist ::change()
{   int e = exist();
    string name;
    string number;
    string QQ;
    string Email;
    string area;
	if (e != -1)
	{
	    cout <<"请输入想要修改的内容,1.姓名 2.电话号码 3.QQ 4.Email 5.籍贯 "<<endl;
	    int h;
	    cin >> h;
	    string k;
        cout <<"请输入修改内容";
	    cin >> k;
	    switch (h)
		{
		case 1:N[e].name =k;
		    break;
		case 2:
			N[e].number = k;
			break;
		case 3:
			N[e].QQ = k;
			break;
		case 4:
			N[e].Email = k;
			break;
		case 5:
			N[e].area =k;
			break;

		default:
			cout << "输入有误,请重新输入!" << endl;
			break;}
	}

	else
	{
		cout << "没有查到这个人!" << endl;

	}


}
int main()
{
	adlist A;
    int u = 0;
	while (true)
	{   showMenu();
		cout << "请在下方输入您想选择的功能(输入前面的数字即可): " << endl;
		cin >> u;
		switch (u)
		{
		case 1:
			A.add( );
			break;
		case 2:
			A.Afind();
			break;
		case 3:
			A.Adelete();
			break;
		case 4:
			A.change();

			break;
		case 0:
			cout << "退出系统成功,欢迎您下次使用!" << endl;
			system("pause");
			return 0;
		default:
			cout << "输入有误,请重新输入!" << endl;
			break;
		}
	}
	return 0;

}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值