0
点赞
收藏
分享

微信扫一扫

c++简单实现通讯录功能

Hyggelook 2022-02-01 阅读 27

目录

简单实现通讯录功能说明

实现语言c++,简单结构体训练,穿插一些简单算法思想。

编写通讯录

实现添加,展示,删除,查找,修改,清空,退出系统

c++代码如下

#include <iostream>
#include <string>
using namespace std;
#define max 1000 
//联系人的结构体 
struct person{
	//姓名 
	string m_name;
	//性别 1 男   2 女 
	int m_sex;
	//年龄 
	int m_age;
	//电话 
	string m_phone;
	//地址 
	string m_address ;

};

struct addressbooks{
	//通讯录的保存联系人数据
	struct person presonarray[max];
	//通讯录当前联系人个数
	int  m_size;
	 
};
void cleanperson(addressbooks *abs);
void showperson(addressbooks *abs);
void addperson(addressbooks *abs);
int isexist(addressbooks *abs,string name);
void deleteperson(addressbooks *abs);
void show1();
void findperson(addressbooks *abs);
void modifperson(addressbooks *abs);
int main()
{   int choice = 1;
    addressbooks abs;
    abs.m_size=0;
	while(choice)
	{    show1();
		scanf("%d",&choice);
		switch(choice)
		{
			case 1:addperson(&abs);break;
			case 2:showperson(&abs);break;
			case 3:
			{ deleteperson(&abs); break;
			/*cout<<"请输入删除联系人的姓名:"<<endl;
			string name;
			cin>>name;
			if(isexist(&abs,name)==-1)
			{
				cout<<"查无此人"<<endl; 
				break;
			}
			*/	
			case 4:findperson(&abs);break;		
			case 5:modifperson(&abs);break;	
			case 6:cleanperson(&abs);break;	
			}
			
		}
		
	 } 
}

void showperson(addressbooks *abs)
{
	if(abs->m_size==0)
	{
		cout<<"当前记录为空!"<<endl;
		
	}
	else
	{
		int i;
		for(i = 0;i<abs->m_size;i++)
		{
			cout<<"姓名: "<<abs->presonarray[i].m_name<<"\t";
			cout<<"性别: "<<(abs->presonarray[i].m_sex==1?"男":"女")<<"\t" ; 
			cout<<"年龄: "<<abs->presonarray[i].m_age<<"\t"; 
			cout<<"电话: "<<abs->presonarray[i].m_phone<< "\t" ; 
			cout<<"住址: "<<abs->presonarray[i].m_address<<endl ; 
			
		}
		
	}
	system("pause");
	system("cls");
}

int isexist(addressbooks *abs,string name)
{
	for(int i=0;i<abs->m_size;i++)
	{
		if(abs->presonarray[i].m_name == name)
		{
			return i;
		}
		
	}
	return -1;
	
	
}

void deleteperson(addressbooks *abs)
{
	cout<<"请输入要删除的联系人"<<endl;
	string name;
	cin>>name;
	int ret = isexist(abs,name);
	if(ret!=-1)
	{
		for(int i=ret;i<abs->m_size;i++)
		{
			abs->presonarray[i]=abs->presonarray[i+1];
		}
		abs->m_size--;cout<<"删除成功"<<endl ;
	}
	else
	{
		cout<<"查无此人!"<<endl;
	}
	system("pause");
	system("cls");
	
}

void show1()
{
	cout<<"*** *** *** *** *** ***"<<endl;
	cout<<"**1.add    contact(s)**"<<endl;
	cout<<"**2.show   contact(s)**"<<endl;
	cout<<"**3.delete contact(s)**"<<endl;
	cout<<"**4.found  contact(s)**"<<endl;
	cout<<"**5.change contact(s)**"<<endl;
	cout<<"**6.empty     stock ***"<<endl;
	cout<<"**0.log       down  ***"<<endl;
	cout<<"*** *** *** *** *** ***"<<endl;
}

void addperson(addressbooks *abs)
{
	//判断通讯录full?
	if(abs->m_size==max)
	{
		cout<<"fulled!"<<endl;
		return  ;
	 } 
	 else
	 {
	 	//添加具体联系人
		 string name;
		 cout<<"请输入姓名:" <<endl;
		 cin>>name;
		 abs->presonarray[abs->m_size].m_name=name;
		 //姓名
		 cout<<"请输入性别:  1 男   2 女"<<endl;
		 int sex = 0;
		 
		 while(1)
		 { cin>>sex;
		 if(sex==1||sex==2)
		 {abs->presonarray[abs->m_size].m_sex=sex;
		 break;
		 }
		 cout<<"输入有问题,重新输入!"<<endl; 
		 }
		
		 //性别 
		 cout<<"请输入年龄!"<<endl;
		 int age = 0;
		 cin>>age;
		 abs->presonarray[abs->m_size].m_age=age;
		 //年龄
		 cout<<"请输入联系电话: "<<endl;
		 string phone ;
		 cin>>phone;
		 abs->presonarray[abs->m_size].m_phone=phone; 
		 //电话
		 cout<<"请输入住址"<<endl;
		 string address;
		 cin>>address;
		 abs->presonarray[abs->m_size].m_address=address;
		 // updata 
		 abs->m_size++;
		 cout<<"添加成功!!!"<<endl;
		 system("pause");
		 system("cls");//清屏 
	 	
	 }

}
void findperson(addressbooks *abs)
{
	cout<<"请输入要寻找的联系人"<<endl;
	string name;
	cin>>name;
	int ret = isexist(abs,name);
	if(ret!=-1)
	{  int i=ret;
		cout<<"姓名: "<<abs->presonarray[i].m_name<<"\t";
		cout<<"性别: "<<(abs->presonarray[i].m_sex==1?"男":"女")<<"\t" ; 
		cout<<"年龄: "<<abs->presonarray[i].m_age<<"\t"; 
		cout<<"电话: "<<abs->presonarray[i].m_phone<< "\t" ; 
		cout<<"住址: "<<abs->presonarray[i].m_address<<endl ; 
			
	 } 
	 else
	 {
	 	cout<<"查无此人"<<endl;
	 }
	system("pause");
	system("cls");	
}
void modifperson(addressbooks *abs)
{
	cout<<"请输入您要修改的联系人"<<endl;
	string name;
	cin>>name;
	int ret = isexist(abs,name);
	if(ret!=-1)
	{
		string name;
		cout<<"请输入姓名"<<endl;
		cin>>abs->presonarray[ret].m_name;
		cout<<"请输入性别 1 男  2 女"<<endl;
		int sex = 0;
		cin>>sex;
		while(1)
		{
			if(sex==2||sex==1)
		{
			abs->presonarray[ret].m_sex=sex;
			break;
		 } 
		 cout<<"输入有问题,请重新输入!"<<endl;
		}
		cout<<"请输入年龄"<<endl;
		int age = 0;
		cin>>age;
		abs->presonarray[ret].m_age=age;
		cout<<"亲输入电话"<<endl;
		string phone;
		cin>>phone;
		abs->presonarray[ret].m_phone=phone;
		cout<<"住址"<<endl;
		string address;
		cin>>address;
		abs->presonarray[ret].m_address=address;
		system("pause");
		system("cls");
		
	}
	else
	{
		cout<<"未找到"<<endl;
	}
	
}
void cleanperson(addressbooks *abs)
	{
		abs->m_size=0;
		cout<<"已清空联系人!"<<endl;
		system("pause");
		system("cls");
	}
举报

相关推荐

0 条评论