搜索
您的当前位置:首页正文

数据结构家谱管理系统

来源:好走旅游网
/////////////////////////////////////////////////////////////////////////////// //题目:家谱资料管理

//要求:家谱用于记录某家族历代家族成员的情况与关系。现编制一个家谱资料管理软件,

//实现对一个家族所有的资料进行收集整理。支持对家谱的增加,删除,更新,统计等。

/////////////////////////////////////////////////////////////////////////////// #include #include 〈stdlib。h〉 #include int Num; //记录这个人拥有

几个儿女 名

char Kind; //标示节点的种类char Name[20]; //记录这个人的姓

有女G男B

struct TreeNode * NextNode[20]; //记录这个人的儿

struct TreeNode * Parent; //记录这个节点的父

节点

}TreeNode;

void CreatTree(TreeNode *Tree); void OutPutAll(TreeNode *Tree);

TreeNode * SearchTree(TreeNode *Tree,char name[],int length);

void MainMenue(TreeNode *Tree); void SubMenue1(TreeNode * Tree); void SubMenue2(TreeNode *Tree); void Change(TreeNode * Tree); void AddNew(TreeNode * Tree);

void OutPutMessage(TreeNode * Tree,char name[],int length); //主函数 void main() {

TreeNode *Tree;

Tree=(TreeNode *)malloc(sizeof(TreeNode)); Tree—〉Parent =NULL; strcpy(Tree—〉Name,\"0\");

MainMenue(Tree); }

//添加新的成员

void AddNew(TreeNode * Tree) { }

//输出副菜单

void SubMenue2(TreeNode *Tree) {

char c;

int num; char name[20];

TreeNode * NewNode; getchar(); while(1) {

system(\"cls\"); printf(\"\\"); SubMenue2(Tree);

printf(”\\n\\n\ —--*****—--请选择你

的操作—--****——- ”);

printf(\"\\n\——-*——-*—--*———A:添加某个

人的子女的信息——-*——-*—--*-——*-——- ”);

printf(”\\n\———*——-*———*---B:添加某

个人配偶的信息—*—-—*———*—-—*———*———— \");

printf(\"\\n\———*———*———*--—C:退出—

*---*——-*———*———*——-*--—*-—-*———*————\\n\”);

c=getchar(); switch(c) { case ’A':

printf(”\\n\\n\请输入那个人的名字:\\n\\");

scanf(\"%s\",name);

Tree=SearchTree(Tree,name,20); if(Tree==NULL) {

printf(\"\\n\\n\****该家谱图中没有%s这个

人的信息请确认是否输入错误*****\\n”,name); }

if(Tree—〉Parent==NULL&&Tree—〉NextNodebreak;

[0]==NULL||Tree—〉Parent!=NULL&&Tree-〉

Name!=Tree—〉Parent—〉NextNode[0]—〉Name) {

printf(”\\n\\n\%s至今还没有配偶请先添加配

偶\",Tree—〉Name); }

if(Tree-〉Parent==NULL&&(Tree-〉Num>20||Tree-〉break;

Num<0))

Tree->Num=0;

if(MATEFLAG==1) Tree=Tree-〉Parent;

NewNode=(TreeNode *)malloc(sizeof(TreeNode)); printf(”\\n\\n\请输入添加人员姓名:\\n\\"); scanf(”%s”,NewNode-〉Name);

printf(”\\n\\n\请输入添加人员性别女G男B:

\\n\”);

scanf(”%1s\&NewNode->Kind); num=Tree-〉Num;

NewNode—>NextNode[0]=(TreeNode *)malloc

(sizeof(TreeNode));

NewNode->NextNode[0]=NULL; NewNode-〉Num=0;

NewNode—>Parent=Tree;

Tree—>NextNode[num+1]=NewNode; Tree—〉Num=Tree—〉Num+1;

printf(”\\n\\n\——-———————--—子女的

信息添加成功—--—————---——--—”); break;

case ’B':

printf(”\\n\\n\请输入那个人的名字:\\n\”);

scanf(\"%s”,name);

Tree=SearchTree(Tree,name,20);

if(Tree->Parent!=NULL&&strcmp(Tree—〉Name,

Tree—>Parent-〉NextNode[0]-〉Name)==0||Tree—〉NextNode[0]!=NULL) { }

if(Tree==NULL) {

printf(”\\n\\n\****该家谱图中没有%s这个printf(”\\n\\n\已经有了配偶”); break;

人的信息请确认是否输入错误*****\\n\",name); break;

NewNode=(TreeNode

*)malloc(sizeof

(TreeNode));

printf(\"\\n\\n\请输入添加人员姓名:\\n\”); scanf(\"%s”,NewNode—>Name);

printf(”\\n\\n\请输入添加人员性别女G男B:

\\n\”);

scanf(”%1s\",&NewNode—>Kind); NewNode—〉Parent=Tree; Tree-〉NextNode[0]=NewNode; break;

case 'C’:

printf(\"\\n\\n\—————-————---—-—本项服

务到此结束-————--——————-———”); break;

case ’\\n’:

break; default:

printf(\"\\n\\n\—-———-——对不起!你的选择不在

服务范围之内!—-——---—— ”);

printf(\"\\n\——-—-——————请您再次选择所

需的服务项!-———-——-——--— ”);

printf(\"\\n\-———--——————————-—谢

谢合作!---———————--——-----———\\n\”); }

if (c==’C’||c==’c') //??

break; break;

printf(”\\n\\n\——------—-——--请按Enter键继续

操作——-—-——---—--—\"); }

//修改某个人的信息

void Change(TreeNode * Tree) {

char name[20];

TreeNode * NewNode;

printf(\"\\n\请输入你要修改的人的信息:\\n\”); }

getchar(); getchar();

scanf(”%s\",name);

NewNode=SearchTree(Tree,name,20); if(NewNode==NULL)

{

printf(”\\n\\n\****该家谱图中没有%s这个人的信

息请确认是否输入错误*****\\n”,name); }

//输出副菜单

void SubMenue1(TreeNode * Tree) {

char c; int flag,i; char name[20]; char Parent[2][20]; TreeNode * NewNode; getchar(); while(1) {

system(”cls\"); printf(”\”); } else { }

SubMenue1(NewNode); return;

printf(”\\n\\n\ --—*****—-—请选择

你的操作—-—****--- \");

printf(\"\\n\-—-*—-—*-——*——-A:修改个人的信

息-—-*--—*-—-*———*—-—*——-*———— ”);

printf(”\\n\-—-*—--*—--*---B:修改父母的信息—

--*—-—*—-—*——-*———*—-—*——-- \");

printf(”\\n\-—-*—-—*---*—--C:修改兄弟姐妹的

信息——-*-—-*——-*-——*———*—-—- ”);

printf(\"\\n\—--*—-—*—-—*—-—D:修改子女的

信息-——*———*——-*-——*-—-*——-*———— \");

printf(”\\n\——-*-—-*———*---E:修改配偶的信

息-——*-——*-—-*—--*-——*--—*—--— ”);

printf(”\\n\———*——-*-—-*———F:退出—

*--—*-—-*-—-*-—-*-——*-—-*———*———*—---\\n\”);

c=getchar(); switch(c) { case ’A’:

printf(\"\\n\\n\请输入修改的姓名:如果不需要修

改就输入‘0’然后按Enter键继续\\n\”);

scanf(”%s”,name); if(strcmp(name,”0”)!=0) strcpy(Tree-〉Name,name);

printf(”\\n\\n\是否要修改性别:如果需要就输入’1’

不需要修改就输入’0'然后按Enter键继续\\n\”);

scanf(”%d”,&flag);

if (flag==1) { }

printf(”\\n\\n\个人信息修改成功”); break;

if(Tree—〉Kind==’G’||Tree-〉Kind==’g’)

Tree—〉Kind='B';

else Tree->Kind=’G’;

case 'B’:

if(Tree—〉Parent==NULL) //判断是不是头节点 {

printf(”\\n\是这个家谱图里最顶端的人没有父

母信息!”,name);

break; }

if (MATEFLAG==1)

//判断是不是入赘或加入此间的 {

if(Tree-〉Kind==’G'||Tree—〉Kind==’g’) {

printf(\"\\n\\n\她是嫁入此间的所以父母信息

不在家谱内包括\"); } else {

printf(”\\n\\n\他是入赘此间的所以父母信息

不在家谱内包括\"); } if

Tree-〉

Parent-〉

Kind=='G’

} break;

|Tree—>Parent—>Kind==’g') { } else

strcpy(Parent[0],”母亲”); strcpy(Parent[1],”父亲\");

{ }

printf(”\\n\\n\请输入%s要修改的姓名:如果不strcpy(Parent[0],”父亲”); strcpy(Parent[1],\"母亲\");

需要修改就输入‘0’然后按Enter键继续\\n\”,Parent[0]);

scanf(”%s”,name); if(strcmp(name,”0\")!=0)

strcpy(Tree—〉Parent—>Name,name);

printf(\"\\n\\n\请输入%s要修改的姓名:如果不需要

修改就输入‘0’然后按Enter键继续\\n\”,Parent[1]);

scanf(”%s\",name); if(strcmp(name,”0”)!=0)

strcpy(Tree—〉Parent—〉NextNode[0]-〉Name,

name);

printf(\"\\n\\n\——-—-——————-—父母的信

息修改成功——————-———--——-—\");

break;

case ’C’:

NewNode=Tree-〉Parent; if(NewNode==NULL)

//判断是不是头节点

printf(”\\n\是这个家谱图里最顶端的人没有兄

弟姐妹信息!\);

break; }

if (MATEFLAG==1)

//判断是不是入赘或加入此间的 {

if(Tree—〉Kind=='G’||Tree-〉Kind==’g') {

printf(”\\n\\n\她是嫁入此间的所以兄弟姐妹

信息不在家谱内包括\"); } else {

printf(”\\n\\n\他是入赘此间的所以兄弟姐

妹信息不在家谱内包括\"); }

if(NewNode-〉Num==1) { } break;

}

printf(”\\n\\n\没有兄弟姐妹\"); break;

else {

for(i=1;i<=NewNode->Num;i++) {

if(NewNode—〉NextNode[i]—〉Name!

=Tree->Name) {

printf(\"\\n\\n\请输入%s修改的姓名:如

果不需要修改就输入‘0’然后按Enter键继续\\n\”,NewNode—>NextNode[i]—〉Name);

scanf(”%s”,name); if(strcmp(name,\"0\")!=0)

strcpy(NewNode—〉NextNode

[i]—>Name,name);

printf(\"\\n\\n\是否要修改性别:如果需要

就输入’1’不需要修改就输入’0'然后按Enter键继续\\n\”);

scanf(\"%d”,&flag); if (flag==1) {

if(NewNode—>NextNode[i]

->Kind==’G'||NewNode->NextNode[i]—〉Kind=='g')

NewNode—〉NextNode[i]

—>Kind=’B’; else

NewNode-〉

NextNode[i]—>Kind='G’; } } } }

printf(”\\n\\n\—-——--——-—--兄弟姐妹的信息

修改成功—-————-—————-”);

break;

case ’D':

if(Tree->Num==0) { }

if (Tree->Parent !=NULL)

if (strcmp(Tree->Name,Tree—〉Parentprintf(”\\n\\n\至今还没有子女”); break;

—>NextNode[0]—〉Name)==0) //如果他是入赘或

者是嫁入的就需用配偶节点完成修改 { }

Tree=Tree—〉Parent;

for(i=1;i〈=Tree—〉Num;i++) {

printf(”\\n\\n\请输入%s修改的姓名:如果不

需要修改就输入‘0'然后按Enter键继续\\n\”,Tree—>NextNode[i]—〉Name);

scanf(\"%s”,name); if(strcmp(name,”0”)!=0)

strcpy(Tree-〉NextNode[i]—〉Name,name);

printf(”\\n\\n\是否要修改性别:如果需要就输

入'1’不需要修改就输入’0’然后按Enter键继续\\n\”);

scanf(\"%d”,&flag); if (flag==1) {

if(Tree—〉NextNode[i]-〉Kind==’G’||

Tree->NextNode[i]—〉Kind=='g’) }

Tree->NextNode[i]-〉Kind='B’;

else Tree—〉NextNode[i]—〉Kind=’G’;

printf(”\\n\\n\——-———-—-————-—子女的

信息修改成功----—-——---——--—”);

break;

case 'E’:

if(Tree—>Parent!=NULL) {

if (Tree—〉NextNode[0]==NULL&&

strcmp(Tree->Name,Tree—〉Parent-〉NextNode[0]—〉Name)!=0) { }

if (strcmp(Tree—〉Name,Tree—〉Parent-〉printf(”\\n\\n\至今还没有配偶”); break;

NextNode[0]—〉Name)==0) {

printf(\"\\n\\n\请输入%s修改的姓名:如果

不需要修改就输入‘0’然后按Enter键继续\\n\\",Tree-〉Parent—〉Name);

scanf(\"%s”,name);

if(strcmp(name,\"0”)!=0)

strcpy(Tree->Parent—〉Name,name);

} else {

printf(”\\n\\n\请输入%s修改的姓名:如果

不需要修改就输入‘0’然后按Enter键继续\\n\”,Tree—>NextNode[0]—>Name); } else {

if(Tree-〉NextNode[0]==NULL)

printf(”\\n\\n\至今还没有配偶\"); }

scanf(”%s\

if(strcmp(name,\"0”)!=0)

strcpy(Tree-〉NextNode[0]-〉Name,name);

else {

printf(”\\n\\n\请输入%s修改的姓名:如果

不需要修改就输入‘0’然后按Enter键继续\\n\\",Tree—〉NextNode[0]—〉Name);

scanf(\"%s”,name); if(strcmp(name,”0”)!=0)

strcpy(Tree->NextNode[0]->Name,

name); } }

printf(”\\n\\n\————--—-———-———配偶的

信息修改成功--—-——---—-—————”); break;

case 'F’:

printf(”\\n\\n\———-———-—-—-—--—本项服

务到此结束----——--———-—————”);

break;

case ’\\n':

break; default:

printf(”\\n\\n\——---———对不起!你的选择不

在服务范围之内!-——----—-”);

printf(\"\\n\-—-———-————请您再次选择所需

的服务项!—————-—-—-—-—”);

printf(”\\n\-——-—--——----———-—谢谢合作!

————-—----—---————--——\\n\”);

break;

if (c=='F’||c==’f’)

break;

printf(\"\\n\\n\—-——------—-——请按Enter键继续

操作———-—--————---”); }

//输出主菜单

void MainMenue(TreeNode *Tree) {

char c;

char name[20]; while(1) {

system(”cls\"); printf(”\”); }

getchar(); getchar();

printf(\"\\n\\n\ —-—*****——-请选择你

的操作———****-——”);

printf(”\\n\———-—————-—---A:输入家谱信息

建立多叉树—-————————-—--———-———-\");

printf(”\\n\-—-————-——————B:在家族中

查找某人并输出他或(她)的相应信息——-—”);

printf(\"\\n\—-—-——-———---—C:添加新的成员-—

———--—--—--——-—————————-———-—-”);

printf(”\\n\—-———-——————-—D:输出整个

家谱信息——-—-—----————-—---——--——--—”);

printf(\"\\n\—————————-—---E:修改某个人

的信息-——--——--—---——---—---—---——”);

printf(”\\n\-————--——————-F:退出整个程

序-———-—---——-—--———-—---——-——————\\n\\");

c=getchar(); switch(c) { case 'A’:

TreeNode * NewNode;

NewNode=(TreeNode *)malloc(sizeof(TreeNode)); printf(”\\n\请输入姓名:\\n\”); scanf(”%s”,Tree-〉Name);

printf(\"\\n\请输入性别女G男B:\\n\\"); getchar();

scanf(”%c”,&(Tree->Kind)); Tree—>Parent=NewNode; Tree->Parent=NULL; CreatTree(Tree);

printf(”\\n\———--——-—-—-—-家谱图已经建

立成功-—-—--——-——--——\\n\\n”);

printf(\"\\n\\n\—----——-—-————请按Enter键

继续操作—-————--————-—\");

getchar(); break;

case 'B':

if(strcmp(Tree—〉Name,”0\")==0) {

printf(”\\n\家谱图的多叉树尚未建立请先建立

树\\n\"); }

printf(”\\n\请输入你要查找的人的姓名:\\n\\"); scanf(\"%s”,name);

OutPutMessage(SearchTree(Tree,name,20),name,getchar(); break;

20);

printf(”\\n\\n\-—-—-*---—*—-——*

-——-*———-*

——--*——-—

-—-—*———-

————*-———\\n\”);

getchar(); break;

case 'C':

if(strcmp(Tree->Name,”0\")==0) {

printf(”\\n\家谱图的多叉树尚未建立请先建立

树\\n”); }

AddNew(Tree); getchar(); break; getchar(); break;

case ’D’:

if(strcmp(Tree—>Name,”0”)==0) {

printf(”\\n\家谱图的多叉树尚未建立请先建

立树\\n\");

getchar();

break;

printf(”\\n\\n\整个家谱的主要信息如下:”); OutPutAll(Tree); getchar(); break;

case ’E’:

if(strcmp(Tree-〉Name,\"0\")==0) {

printf(”\\n\家谱图的多叉树尚未建立请先建

立树\\n”); }

Change(Tree); getchar(); break; getchar(); break;

case ’F’:

printf(”\\n\\n\-—----—-—--—-—--—本次服务到此结

束—-———--———-——-—--—\");

printf(\"\\n\——-——-—————-————--欢迎

下次使用—--—-—————-—-———-——--\");

printf(\"\\n\———--—————————-——-—

--—谢谢-———--——-—-—-—————-——————\\n\\n”);

break;

case '\\n': break; default:

printf(\"\\n\\n\--————-—对不起!你的选择不在

服务范围之内!————--—-—--\");

printf(”\\n\—-—---—--—-请您再次选择所需的服

务项!---———————--—--\");

printf(”\\n\-——-—--—-—-—----—-谢谢合作!—

---—-——-—--—---—-————-—\\n\”); } //创建树 } }

if (c==’F'||c==’f’)

break; getchar(); break;

getchar();

void CreatTree(TreeNode *Node) { int i;

TreeNode *NewNode;

NewNode=(TreeNode *)malloc(sizeof(TreeNode));

Node-〉NextNode[0]=NewNode;

Node-〉NextNode[0]=NULL; //Node->Parent =NULL;

printf(\"\\n\请输入%s的子女的数目:\\n\”,Node-〉

Name);

scanf(”%d\&(Node—〉Num));

printf(”\\n\请输入%s的配偶的姓名:\\n\”,

Node->Name);

scanf(\"%s”,NewNode->Name);

if((Node—>Num)==0&&strcmp(NewNode—>Name,

\"0\")==0)

return ;

if (Node—>Kind==’G'||Node—>Kind==’g’)

NewNode-〉Kind=’B’;

else

NewNode->Kind=’G’;

NewNode—>Num=0;

NewNode—>NextNode[0]=NULL; Node—〉NextNode[0]=NewNode; Node—〉NextNode[0]—>Parent=Node; for(i=1;i<=Node—〉Num;i++) {

NewNode=(TreeNode *)malloc(sizeof(TreeNode)); printf(”\\n\请输入%s的第%d子女的名字\\n\\",Node

—〉Name,i);

scanf(\"%s”,NewNode-〉Name);

printf(”\\n\请输入%s的第%d子女的性别女G男B:

\\n\\",Node—>Name,i); }

//遍历并输出树中的内容 void OutPutAll(TreeNode *Tree) { }

getchar();

scanf(\"%c”,&NewNode->Kind); NewNode-〉Num=0; NewNode->Parent=Node;

Node-〉NextNode[i]=NewNode; CreatTree(Node->NextNode[i]);

int i, flag=0;

printf(”\\n\———****-—-***———***———***

-—-***-——***——-***-——***-——***——-”);

printf(”\\n\姓名:%s 性别:”,Tree—>Name); if (Tree-〉Kind==’G'||Tree->Kind==’g’) { } else

printf(\"男”); flag=1; printf(”女”);

if (!(Tree—〉NextNode[0])) { }

printf(”\\n\至今没有配偶和子女\\n”); return;

if(flag==1)

printf(”\\n\丈夫 姓名:%s\",Tree-〉NextNode[0]

—〉Name); else

printf(”\\n\妻子 姓名:%s\",Tree-〉NextNode[0]

—>Name);

for(i=1;i〈=Tree—>Num;i++) {

printf(”\\n\第%d个子女的姓名:%s 性别:”,i,Tree

—〉NextNode[i]-〉Name,Tree—〉NextNode[i]-〉Kind);

if (Tree—〉NextNode[i]—〉Kind==’G’||Tree-〉

NextNode[i]—〉Kind==’g’) }

//在树中经过遍历查找某个人

TreeNode * SearchTree(TreeNode *Tree,char name[],int length) { int i; }

printf(”\\n\”);

for(i=1;i〈=Tree-〉Num;i++) { }

OutPutAll(Tree->NextNode[i]);

printf(\"女\");

else

printf(\"男”);

TreeNode *NewNode;

if(strcmp(Tree-〉Name,name)==0) {

if(length==0)

MATEFLAG=1; }

if(Tree—〉NextNode[0]==NULL)

return NULL; else

MATEFLAG=0;

return Tree;

for(i=0;i<=Tree-〉Num;i++) {

if (i==0)

NewNode=SearchTree(Tree—>NextNode[i],name,

0); else

NewNode=SearchTree(Tree—>NextNode[i],name,

20);

if (NewNode!=NULL) return NewNode;

}

return NULL;

//输出已经查找到的人的信息

void OutPutMessage(TreeNode * Tree,char name[],int length) {

int flag=0,i;

TreeNode *NewNode;

—---*——-—

**

printf(\"\\n\\n\———-—

-———*--—-*—-———--—*--—-\");

if(Tree==NULL) {

———-*—-——*—-——

printf(”\\n\\n\****该家谱图中没有%s这个人的

信息请确认是否输入错误*****\\n”,name); return; }

printf(”\\n\\n\您所要找的人已经找到信息如下所

示:”);

printf(”\\n\\n\姓名:%s\性别:”,name);

if (Tree-〉Kind=='G'||Tree-〉Kind==’g’) {

flag=1;

//标记他(她)的性别 } else

printf(”男”); printf(”女”);

NewNode=Tree—〉Parent;

if (MATEFLAG==1) {

if(flag==1) {

printf(”\\n\\n\她是嫁入此间的所以父母信息不

在家谱内包括\");

printf(”\\n\丈夫 姓名:%s”,NewNode—〉

Name); } else {

printf(”\\n\\n\他是入赘此间的所以父母信息不

在家谱内包括”);

printf(\"\\n\妻子 姓名:%s”,NewNode

—>Name);

} if

NewNode

>Num)>0)

//判断他(她)是否有孩子 {

printf(”\\n\的孩子的信息如下:”);

//输出他(她)的孩子的信息

for(i=1;i〈=NewNode—〉Num;i++) {

printf(\"\\n\

s

别:”,NewNode->NextNode[i]—>Name);

if (NewNode-〉NextNode[i]—〉Kind=='G’|

|NewNode—〉Kind=='g') }

if(NewNode==NULL)

//判断

} return; }

printf(”女”);

else

printf(\"男\");

它是不是根节点如果是的话就没有父母兄弟信息

printf(\"\\n\是这个家谱图里最顶端的人没有父母和

兄弟姐妹信息!”,name); else {

if (NewNode—>Kind=='G’||NewNode-〉Kind==’

g’) //判断父亲节点是父亲还是母亲 {

//输出他(她)

的父母亲的信息

printf(”\\n\母亲 姓名:%s\

—>Name);

printf(\"\\n\父亲 姓名:%s\",NewNode

—>NextNode[0]—>Name); } else {

printf(”\\n\母亲 姓名:%s”,NewNode-〉

NextNode[0]—〉Name); } if

NewNode

Num

1

printf(\"\\n\父亲 姓名:%s”,NewNode-〉Name);

//判断他(她)是否有兄弟姐妹 {

//输出他(她)

的兄弟姐妹的信息

printf(”\\n\%s的兄弟姐妹信息如下:\);

for(i=1;i〈=NewNode-〉Num;i++) {

if(NewNode—>NextNode[i])

printf(\"\\n\%s姓名:%s 性别:\",

NewNode—〉NextNode[i]—〉Name,NewNode->NextNode[i]—〉Name); if

NewNode->NextNode[i

->Kind==’G’||Tree—〉Kind==’g') }

if(Tree->NextNode[0]!=NULL)

} else

printf(\"\\n\%s没有兄弟姐妹!”,Tree—>Name); }

printf(\"女”);

else

printf(\"男”);

//判断他(她)是否有配偶

//输出他(她)的配偶的信息

if(flag==1)

printf(”\\n\丈夫 姓名:%s”,Tree-〉NextNode[0]

—〉Name); else

printf(”\\n\妻子 姓名:%s\",Tree->NextNode

[0]—〉Name); if

Tree

Num>0

//判断他(她)是否有孩子 {

printf(\"\\n\的孩子的信息如下:”); //

输出他(她)的孩子的信息

for(i=1;i〈=Tree—>Num;i++) {

printf(”\\n\姓名:%s 性别:”,Tree

—>NextNode[i]->Name);

if (Tree—〉NextNode[i]-〉Kind==’G’||

Tree—>Kind==’g’) }

printf(\"女\");

else

printf(”男”);

} else

printf(”\\n\%s至今还没有孩子\

else

printf(”\\n\%s至今还没有配偶和孩子\\n”,

Tree->Name); }

因篇幅问题不能全部显示,请点此查看更多更全内容

Top