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

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

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

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

#include <iostream>
#include <stdlib.h>
#include <string>
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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值