假设微信朋友圈中朋友的信息都存储在下面的结构体中:
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;
}