C++实现的数据结构大作业之家谱管理系统 欢迎界面:
主菜单:
其他一些运行结果不在一一列举,一面篇幅过长。
这个家谱管理系统,支持键盘操作,所有的操作都可以用键盘完成,如选择功能、退出等。代码的实现使用的是c++11标准,与旧标准或有不同。
类的头文件:
#include #include using std::string; using std::ostream; using std::istream; struct BirthDay{ //生日结构变量 int year=0; int month=0; int day=0; }; class Member{ friend class FamilySystem; friend ostream &operator<<(ostream &out, const Member &m);//输出成员信息到控制台 friend istream &operator>>(istream &in, Member &m);//从文件中读入成员信息 public: Member()=default;//使用默认合成构造函数 void setE();//通过控制台输入给成员赋值 ~Member() = default;//使用默认合成析构函数 Member* pson=nullptr;//指向儿子的指针 Member* pbro = nullptr;//指向兄弟的指针 private: //成员的各种数据 string name=\未知\; string birthPlace = \未知\; BirthDay birthDay; string sex = \未知\; float height=0; int age=0; string education = \未知\; string job = \未知\; string father = \未知\; }; class FamilySystem{ public: FamilySystem() = default;//使用默认合成构造函数 ~FamilySystem(){ delete root; } bool fileInit();//从文件中读取数据 int menu();//显示菜单(功能) bool addMem();//增加成员