- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
. . .
C++实现的数据结构大作业之家谱管理系统
欢迎界面:
主菜单:
其他一些运行结果不在一一列举,一面篇幅过长。
这个家谱管理系统,支持键盘操作,所有的操作都可以用键盘完成,如选择功能、退出等。代码的实现使用的是c++11标准,与旧标准或有不同。
类的头文件:
#includeiostream
#includestring
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();//用于接收键盘的输入
类的函数及相关操作函数的实现
#includeiomanip
#includevector
#includefstream
#includesstream
#includeconio.h
#includeSystemClass.h
using std::cin;
using std::cout;
using std::endl;
using std::setw;
using std::vector;
using std::ios;
using std::ifstream;
using std::ofstream;
using std::istringstream;
string gets(){//从控制台获取字符等信息
string s;
while (int n = _getch()){
if (n == 27){
throw 27;
break;
}
else if (n == 13){
cout endl;
break;
}
else if (n == 8){
s.pop_back();
cou
您可能关注的文档
- 上海龙湖艳澜山景观设计任务书.doc
- 胜利油田陆上钻井井控工作细则2015.2.15.doc
- 食盐销售工作计划总结.doc
- 市场调查与预测第二册庄贵军版复习重点.doc
- 市政竣工资料全套表格模板.doc
- 收银员年度工作汇报4篇.doc
- 叔辛胺设立评价报告.doc
- 数据库原理期末考试卷答案.doc
- 数字电子技术试题(含答案).doc
- 水轮发电机值班员技能鉴定计算题.doc
- 部编版一年级语文下册第四单元《8 夜色》教学课件(2025年春-新编教材).pptx
- 江苏省盐城市五校2024-2025学年高一下学期4月期中联考数学试卷(含答案).pdf
- 2025年高一语文教师工作总结简单版(六).docx
- 第12课《台阶》课件 2024—2025学年统编版语文七年级下册(共39张PPT).pptx
- 部编版一年级语文下册第四单元《语文园地四》教学课件(2025年春-新编教材).pptx
- 部编版一年级语文下册第四单元《9 端午粽》教学课件(2025年春-新编教材).pptx
- 指导技能的关键要素与提升的策略研究与分享.docx
- 湖南省永州四中直升班2025届高三(下)适应性数学试卷(含答案).pdf
- 湖北省荆荆宜襄·四地七校联盟2024-2025学年高一(下)期中联考数学试卷(含答案).pdf
- 2025年04月17日袁荣的初中历史组卷.docx
最近下载
- 人教新课标数学六年级下册《自行车里的数学》PPT课件.ppt
- 机电一体化毕业论文7000字.doc VIP
- 2023年4月河南省考公务员结构化面试真题试题试卷答案解析.doc VIP
- 《英语学术论文写作教程》教学课件 Unit 1 Writing Foundation.pptx VIP
- AI+智慧医疗整体解决方案 人工智能+智慧医疗整体解决方案.pdf VIP
- 中药制剂生产工艺流程.pptx VIP
- 口腔颌面部解剖(淋巴).ppt
- 9A文孟洪涛谈威科夫交易法.pdf
- GBZT201.2-2011 放射治疗机房的辐射屏蔽规范 第2部分:电子直线加速器放射治疗机房.pdf
- 详细解读2021年新修订《中华人民共和国科学技术进步法》PPT教学课件.pptx VIP
文档评论(0)