构造一个学校在册人员类Person,数据成员包括身份证号(Idperson),姓名(Name),性别(Sex),生日(Birthday)和家庭住址(HomeAddress),实现对人员信息的录入和显示
2条回答 默认 最新
- 南七灵 2022-01-01 23:38关注
#include <iostream> #include <cstring> using namespace std; enum Tsex { mid, man, woman }; class Person { char IdPerson[19]; //身份证号,18位数字 char Name[20]; //姓名 Tsex Sex; //性别 int Birthday; //生日,格式1986年8月18日写作19860818 char HomeAddress[50]; //家庭地址 public: Person(char *, char *, Tsex, int, char *); Person(Person &); Person(); ~Person(); void PrintPersonInfo(); void inputPerson(); //其他接口函数 }; Person::Person(char *id, char *name, Tsex sex, int birthday, char *homeadd) { strcpy(IdPerson, id); strcpy(Name, name); Sex = sex; Birthday = birthday; strcpy(HomeAddress, homeadd); } Person::Person() { IdPerson[0] = '\0'; Name[0] = '\0'; Sex = mid; Birthday = 0; HomeAddress[0] = '\0'; } Person::Person(Person &Ps) { strcpy(IdPerson, Ps.IdPerson); strcpy(Name, Ps.Name); Sex = Ps.Sex; Birthday = Ps.Birthday; strcpy(HomeAddress, Ps.HomeAddress); } Person::~Person() { } void Person::inputPerson() { char ch; cout << "请输入身份证号,18位数字:" << endl; cin.getline(IdPerson, 19); cout << "请输入姓名:" << endl; cin.getline(Name, 20); cout << "请输入性别m或w:" << endl; cin >> ch; if (ch == 'm') Sex = man; else Sex = woman; cout << "请输入生日,格式1986年8月18日写作19860818:" << endl; cin >> Birthday; cin.get(); //吸收回车符,否则地址输不进去 cout << "请输入地址:" << endl; cin.getline(HomeAddress, 50); } void Person::PrintPersonInfo() { int i; cout << "身份证号:" << IdPerson << '\n' << "姓名:" << Name << '\n' << "性别:"; if (Sex == man) cout << "男" << '\n'; else if (Sex == woman) cout << "女" << '\n'; else cout << " " << '\n'; cout << "出生年月日:"; i = Birthday; cout << i / 10000 << "年"; i = i % 10000; cout << i / 100 << "月" << i % 100 << "日" << '\n' << "家庭住址:" << HomeAddress << '\n'; } int main() { Person ps; ps.inputPerson(); ps.PrintPersonInfo(); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#c语言#的问题:我在vscode和codeblocks中编写c语言时出现打不开源文件该怎么办
- ¥15 非科班怎么跑代码?如何导数据和调参
- ¥15 福州市的全人群死因监测点死亡原因报表
- ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
- ¥15 系统2008r2 装机配置推荐一下
- ¥500 服务器搭建cisco AnyConnect vpn
- ¥15 悬赏Python-playwright部署在centos7上
- ¥15 psoc creator软件有没有人能远程安装啊
- ¥15 快速扫描算法求解Eikonal方程咨询
- ¥15 校内二手商品转让网站