假设微信朋友圈中朋友的信息都存储在下面的结构体中: struct friends char name [20];1存储朋友姓名 char sex ; IIf or m int age ;

假设微信朋友圈中朋友的信息都存储在下面的结构体中:
 struct friends 
 char name [20];1存储朋友姓名 char sex ; IIf or m 
 int age ;
 char phone [21]; char email [20);
 char birthday [20];
 int countEmail ;
/邮件记录
 char textMessage [500];存储短信内容
 int countPhone ; I /电话记录
 char emailMessage [500];
编程要求:
(1)设计一个 Friend 类,用来读信息到结构体数组中;
(2)设计一个 Master 类,满足以下四个功能:
 a 添加功能
作为主人登录时,添加一个朋友的基本信息,包括姓名、性别、年龄、电话、邮箱、生日等,并选择要添加的分组。
 b .删除功能
作为主人登录时,按分组和姓名对一个朋友的信息进行删除。 c 修改功能
作为主人登录时,按分组和姓名对一个朋友的信息进行修改◇ d .显示功能
作为主人登录时,按分组有条理显示某一组内所有朋友的基本信息,包括姓
名、性别、年龄、电话、邮箱、生日等。
2022.3.6

#include<iostream>
#include<string>
using namespace std;
struct friends		//朋友结构体 
{
	string name;
	string sex;
	int age;
	string phone;
	string email;
	string birthday;
	int countEmail;
	string textMessage;
	int countPhone;
	string emailMessage;
}friendperson[1000];		
class Friend			//朋友类 
{
	public:
	int group;
	Friend(friends &p)
	{
		cout<<"请输入分组:";
		cin>>group; 
		cout<<"请输入姓名:";
		cin>>p.name;
		cout<<"请输入性别:";
		cin>>p.sex;
		cout<<"请输入年龄:";
		cin>>p.age;
		cout<<"请输入电话:";
		cin>>p.phone;
		cout<<"请输入邮箱:";
		cin>>p.email;
		cout<<"请输入生日:";
		cin>>p.birthday;
	}
}*person[1000];
class Master		//主人类 
{
	public:
		void addperson();
		void deleteperson();
		void changeperson();
		void show();
};
int i=0;
void Master::addperson()//增加好友 
{
	person[i]=new Friend(friendperson[i]);
	cout<<"新建成功!"<<endl;
	i++;
}
void Master::deleteperson()//删除好友 
{
	int j;
	string name;
	cout<<"请输入您想删除的联系人姓名:";
	cin>>name;
	for(j=0;j<i;j++)
	{
		if(name==friendperson[j].name)
		{
			for(int m=j;m<i;m++)	//将删除后的数据向前填充一位,使数组连续 
			{
				person[m]=person[m+1];
				friendperson[m]=friendperson[m+1]; 
			}
			delete person[i];
			cout<<"删除成功!"<<endl;
			i--;
			break; 
		}
	}
	if(j==i)
	{
		cout<<"无该好友!"<<endl;
	}
	
}
void Master::changeperson()//修改好友 
{
	string name;
	int j;
	cout<<"请输入想修改的好友姓名:";
	cin>>name;
	for(j=0;j<i;j++)
	{
		if(name==friendperson[j].name)
		{
			int group;
			cout<<"请输入修改到的分组:";
			cin>>person[j]->group; 
			cout<<"请输入修改的姓名:";
			cin>>friendperson[j].name;
			cout<<"请输入修改的性别:";
			cin>>friendperson[j].sex;
			cout<<"请输入修改的年龄:";
			cin>>friendperson[j].age;
			cout<<"请输入修改的电话:";
			cin>>friendperson[j].phone;
			cout<<"请输入修改的邮箱:";
			cin>>friendperson[j].email;
			cout<<"请输入修改的生日:";
			cin>>friendperson[j].birthday;
			break;
		}
	}
	if(j==i)
	{
		cout<<"无该好友!"<<endl;
	} 
}
void Master::show()//展示列表好友 
{
	int j,group;
	cout<<"请输入要显示信息的分组:";
	cin>>group;
	for(j=0;j<i;j++)
	{
		if(person[j]->group==group)
		{
			cout<<"姓名:"<<friendperson[j].name<<endl;
			cout<<"年龄:"<<friendperson[j].age<<endl;
			cout<<"性别:"<<friendperson[j].sex<<endl;
			cout<<"电话:"<<friendperson[j].phone<<endl;
			cout<<"邮箱:"<<friendperson[j].email<<endl;
			cout<<"生日:"<<friendperson[j].birthday<<endl;
			break;	
		}	
	} 
	if(j==i)
	{
		cout<<"没有该分组!"<<endl;
	}
}
void menu(Master t) //菜单 
{
	int ch;
	while(1)
	{
		cout<<"请选择:"<<endl;
		cout<<"1:添加好友"<<endl;
		cout<<"2.删除好友"<<endl;
		cout<<"3.修改好友"<<endl;
		cout<<"4.显示列表所有好友"<<endl;
		cout<<"5.退出系统"<<endl;
		cin>>ch; 
		if((ch<=5) && (ch>=1))
		{
			switch(ch)
			{
				case 1:t.addperson();break;
				case 2:t.deleteperson();break;
				case 3:t.changeperson();break;
				case 4:t.show();break;
				case 5: exit(0);break;
			}
		}
		else
		{
			cout<<"输入错误";
		}

	}
}
int main()
{
	Master t;
	while(1)
	{
		menu(t);
	}
	return 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值