📄 add.cpp
字号:
#include "Tree.h"
void Information(Queue Q,memberTree *root)
{
b:
cout<<"1: 按序号查询 "<<endl;
cout<<"2: 按姓名查询"<<endl;
cout<<"3: 按出生日期查询"<<endl;
cout<<"4: 按死亡日期查询"<<endl;
cout<<"0: 返回."<<endl;
int n;
cin>>n;
switch(n)
{
case 1: findNumber(Q,root);break;
case 2: findName(Q,root);break;
case 3: findBirthday(Q,root);break;
case 4: findDeathday(Q,root);break;
case 0: cout<<"您已选择返回上一级."<<endl;break;
default: cout<<"输入出错!"<<endl; goto b;
}
}
/*void relation(Queue Q,memberTree *root)
{
c:
cout<<"1: 查询父亲"<<endl;
cout<<"2: 查询兄弟"<<endl;
cout<<"3: 查询孩子"<<endl;
cout<<"0: 返回上一级"<<endl;
int n;
cin>>n;
switch(n)
{
case 1:
{
cout<<"请选择定位成员的方式,以获得起父亲信息."<<"第二个信息是该成员父亲的."<<endl;
cout<<endl;
Information(Q,root);
}
break;
case 2:
{
cout<<"请选择定位成员的方式,以获得起兄弟信息."<<"第二个信息是该成员兄弟的."<<endl;
cout<<endl;
Information(Q,root);
}
break;
case 3:
{
cout<<"请选择定位成员的方式,以获得起孩子信息."<<"第二个信息是该成员的第一个孩子的."<<endl;
cout<<endl;
Information(Q,root);
}
break;
case 0: cout<<"您已选择返回上一级."<<endl;break;
default: cout<<"输入错误!"<<endl;
goto c;
}
}*/
void findNumber(Queue Q,memberTree *root)
{
cout<<"请输入将要查询成员的序号:"<<endl;
int n;
cin>>n;
Queue *q;
memberTree *t,*p;
for(q=Q.front->next;q!=Q.rear->next && q;q=q->next)
{
if(q->node->MemberNumber==n)
{
cout<<"改成员信息已经找到."<<endl;
cout<<endl;
cout<<q->node->MemberNumber<<'\t'<<q->node->Name<<'\t'<<q->node->BornPlace<<'\t'
<<'\t'<<q->node->Birthday<<'\t'<<q->node->Deadthday<<'\t'<<q->node->Sex<<'\t'
<<q->node->Height<<'\t'<<q->node->Credentials<<'\t'<<q->node->Career<<'\n';
cout<<endl;
t=findmember(root, n);
if(t->parent)
{
cout<<"该成员的父亲的序号是: ";
if(t->parent->data)cout<<t->parent->data;
cout<<endl;
}
else cout<<"此成员是该家族的祖先."<<endl;
cout<<endl;
if(t->child)
{
if(t->child->brother)
{
cout<<"该成员孩子的序号是: ";
cout<<t->child->data<<ends;
p=t->child->brother;
while(p)
{
p=t->child->brother;
cout<<p->data<<ends;
p=p->brother;
}
}
else cout<<"该成员孩子的序号是: "<<t->child->data<<endl;
cout<<endl;
}
else cout<<"该成员没有孩子."<<endl;
cout<<endl;
return;
}
}
cout<<"此成员的信息不存在."<<endl;
}
void findName(Queue Q,memberTree *root)
{
cout<<"请输入成员姓名: "<<endl;
char s[20];
cin>>s;
Queue *q;
memberTree *t,*p;
for(q=Q.front->next;q!=Q.rear->next && q;q=q->next)
{
if(!strcmp(q->node->Name,s))
{
cout<<"此成员信息已找到."<<endl;
cout<<endl;
cout<<q->node->MemberNumber<<'\t'<<q->node->Name<<'\t'<<q->node->BornPlace<<'\t'
<<'\t'<<q->node->Birthday<<'\t'<<q->node->Deadthday<<'\t'<<q->node->Sex<<'\t'
<<q->node->Height<<'\t'<<q->node->Credentials<<'\t'<<q->node->Career<<'\n';
cout<<endl;
t=findmember(root, q->node->MemberNumber);
if(t->parent)
{
cout<<"该成员父亲的序号: ";
cout<<t->parent->data;
cout<<endl;
}
else cout<<"该成员是此家族的祖先."<<endl;
cout<<endl;
if(t->child)
{
if(t->child->brother)
{
cout<<"该成员孩子的序号: ";
cout<<t->child->data<<ends;
p=t->child->brother;
while(p)
{
cout<<p->data<<ends;
p=p->brother;
}
}
else cout<<"该成员孩子的序号: "<<t->child->data<<endl;
cout<<endl;
}
else cout<<"该成员没有孩子."<<endl;
cout<<endl;
return;
}
}
cout<<"此成员信息不存在."<<endl;
}
void findBirthday(Queue Q,memberTree * root)
{
cout<<"请输入成员的出生日期: "<<endl;
char s[20];
cin>>s;
Queue *q;
memberTree *t,*p;
for(q=Q.front->next;q!=Q.rear->next && q;q=q->next)
{
if(!strcmp(q->node->Birthday,s))
{
cout<<"此成员信息已找到."<<endl;
cout<<endl;
cout<<q->node->MemberNumber<<'\t'<<q->node->Name<<'\t'<<q->node->BornPlace<<'\t'
<<'\t'<<q->node->Birthday<<'\t'<<q->node->Deadthday<<'\t'<<q->node->Sex<<'\t'
<<q->node->Height<<'\t'<<q->node->Credentials<<'\t'<<q->node->Career<<'\n';
cout<<endl;
t=findmember(root, q->node->MemberNumber);
if(t->parent)
{
cout<<"该成员父亲的序号: ";
cout<<t->parent->data;
cout<<endl;
}
else cout<<"该成员是此家族的祖先."<<endl;
cout<<endl;
if(t->child)
{
if(t->child->brother)
{
cout<<"该成员孩子的序号: ";
cout<<t->child->data<<ends;
p=t->child->brother;
while(p)
{
cout<<p->data<<ends;
p=p->brother;
}
}
else cout<<"该成员孩子的序号: "<<t->child->data<<endl;
cout<<endl;
}
else cout<<"该成员没有孩子."<<endl;
cout<<endl;
return;
}
}
cout<<"此成员信息不存在."<<endl;
}
void findDeathday(Queue Q,memberTree *root)
{
cout<<"请输入成员的死亡日期: "<<endl;
char s[20];
cin>>s;
Queue *q;
memberTree *t,*p;
for(q=Q.front->next;q!=Q.rear->next && q;q=q->next)
{
if(!strcmp(q->node->Deadthday,s))
{
cout<<"The member's information has been found."<<endl;
cout<<endl;
cout<<q->node->MemberNumber<<'\t'<<q->node->Name<<'\t'<<q->node->BornPlace<<'\t'
<<'\t'<<q->node->Birthday<<'\t'<<q->node->Deadthday<<'\t'<<q->node->Sex<<'\t'
<<q->node->Height<<'\t'<<q->node->Credentials<<'\t'<<q->node->Career<<'\n';
cout<<endl;
t=findmember(root, q->node->MemberNumber);
if(t->parent)
{
cout<<"此成员父亲的序号是: ";
cout<<t->parent->data;
cout<<endl;
}
else cout<<"该成员是此家族的祖先"<<endl;
cout<<endl;
if(t->child)
{
if(t->child->brother)
{
cout<<"此成员孩子的序号是: ";
cout<<t->child->data<<ends;
p=t->child->brother;
while(p)
{
cout<<p->data<<ends;
p=p->brother;
}
}
else cout<<"此成员孩子的序号是: "<<t->child->data<<endl;
cout<<endl;
}
else cout<<"此成员没有孩子"<<endl;
cout<<endl;
return;
}
}
cout<<"改成员信息不存在."<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -