第一范文网 - 专业文章范例文档资料分享平台

数据结构大作业之家谱管理系统

来源:用户分享 时间:2025/5/30 6:13:35 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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();//增加成员 bool deleteMem();//删除成员 bool demandMem();//查询 bool demandAve();//查询家庭整体情况 bool modifyMem();//修改成员 bool showFamily();//展示整个家谱 bool saveFile();//保存信息到文件中,将使用两个文件,一个保存成员信息,一个保存家谱整体信息 Member* root = nullptr;//家谱数结构的根节点指针? private: int total = 0;//总人数 float aveAge=0;//平均年龄 float aveHeight=0;//平均身高 float aveMember=0;//家庭平均人数 float ratio=0;//男女比例 void calculate();//计算平均值等 Member *seek(string);//查找是否存在成员 void display(Member*, int);//先序遍历树,用于显示所有成员 }; extern string gets();//用于接收键盘的输入

类的函数及相关操作函数的实现

搜索更多关于: 数据结构大作业之家谱管理系统 的文档
数据结构大作业之家谱管理系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2tkvx2c7s51jxut0i32m_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top