【C++练习】3.2设计一个学校在册人员类(Person)

2.设计一个学校在册人员类(Person)。数据成员包括:身份证号(idc),姓名(name),性别(sex),生日(birth)和家庭地址(addr),数据类型根据需要自行设定。函数成员包括:人员信息的录入和显示,还包括构造函数与拷贝构造函数,其他成员函数也可自行添加。编写测试代码:

1)定义包含十个对象的数组,依次录入十个学生,

2)然后打印所有男生的信息。

#include 
#include 
#include 
using namespace std;

class Person
{
	string idc;
	string name;
	char sex;
	string birth;
	string addr;

public:
	Person();
	Person(Person &C);
	void Input();
	void PrintPerson();
	char Getsex(){return sex; }//查询性别

};

Person::Person()//构造函数
{
	idc = "未输入身份证号";
	name = "未输入姓名";
	sex = '0';
	birth = "未输入生日";
	addr = "未输入地址";
}

void Person::Input()   //录入
{
	cout << "请输入身份证号:";
	getline(cin, idc);
	cout << "请输入姓名:";
	getline(cin, name);
	cout << "请输入性别(男:m 女:f):";
	cin >> sex;
	getchar();
	cout << "请输入生日:";
	getline(cin, birth);
	cout << "请输入家庭住址:";
	getline(cin, addr);
	cout << "-------——————录入完毕——————————"<<endl<<endl;
}

Person::Person(Person &C)     //拷贝函数
{
	idc = C.idc;
	name = C.name;
	sex = C.sex;
	birth = C.birth;
	addr = C.addr;
}
void Person::PrintPerson()    //打印
{
	cout<< "身份证号:"<<idc<<endl;
	cout << "姓名:"<<name<<endl;
	cout << "性别(男:m 女:f):"<<sex<<endl;
	cout << "生日:"<<birth<<endl;
	cout << "家庭住址:"<<addr<<endl;
	cout << "-------——————输出完毕——————————" << endl << endl;
}

int main()
{
	Person Class1[10];
	int i;
	for (i = 0; i < 10; i++)         //1、依次录入十个学生
	{
		Class1[i].Input();
	}
	
	//Class1[2] = Class1[0];

	cout << "-------——————输出所有男生信息——————————" << endl;
	for (i = 0; i < 10; i++)           //2、输出所有男生
	{
		if (Class1[i].Getsex() == 'm')
		{
			Class1[i].PrintPerson();
		}
	}

	system("PAUSE");
	return 0;
}

测试数据:

110102201900001111
YUXI
f
2019.00.01
Beijing
110102199900002222
Zhang san
m
1999.00.02
xiamen
110102199900003333
Li si
m
1999.00.03
Xiamen
110102199900004444
Wang wu
m
1999.00.04
xiamen
110102199900005555
Shen liu
f
1999.00.05
xiamen
110102199900006666
Xiao qi
m
1999.00.06
Xiamen
110102199900007777
Xiao ba
f
1999.00.07
xiamen
110102199900008888
Xiao jiu
m
1999.00.08
xiamen
110102199900009999
Xiao xiao
m
1999.00.09
xiamen
110102199900001010
Wu ming
f
1999.00.10
xiamen

你可能感兴趣的:(C/C++,C++练习)