定义一个Employee类,其中包括姓名、城市和邮编等属性,包括setName()和display()成员函数。
display()函数使用cout显示姓名、城市和邮编等属性,setNameO函数设置对象的姓名属性值。
编写友元函数sortName()按照N个对象的姓名升序排序,主函数实现并进行测试。
按照要写类就可以了啊。。代码如下:
#include <iostream>
#include <string>
using namespace std;
class Employee
{
private:
string name;
string city;
string address;
public:
void setName(string n){name = n;}
void setCity(string c){city = c;}
void setAddr(string a){address = a;}
string getName(){return name;}
string getCity(){return city;}
string getAddr(){return address;}
void display()
{
cout <<"姓名:" << name <<" 城市:"<< city <<" 邮编:"<<address<<endl;
}
friend void sortName(Employee e[],int n);
};
void sortName(Employee e[],int n)
{
int i,j;
Employee t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(e[j].name.compare(e[j+1].name) >0)
{
t = e[j];
e[j] = e[j+1];
e[j+1] = t;
}
}
}
}
int main()
{
Employee a[10];
int nmb;
string name,city,add;
cout <<"请输入雇员数量:";
cin >> nmb;
cout <<"请输入雇员信息:"<<endl;
for(int i=0;i<nmb;i++)
{
cout <<"请输入雇员"<<i+1<<"的姓名:";
cin >> name;
cout <<"请输入雇员"<<i+1<<"的城市:";
cin >> city;
cout <<"请输入雇员"<<i+1<<"的邮编:";
cin >> add;
a[i].setName(name);
a[i].setCity(city);
a[i].setAddr(add);
}
//排序
sortName(a,nmb);
//显示
for(int i=0;i<nmb;i++)
a[i].display();
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!