1、char name20;TreeNode * NewNode;getchar();while(1)system(clsprintf(请选择你的操作nA:添加某个人的子女的信息nB:添加某个人配偶的信息nC:退出n请选择相应功能:nc=getchar();switch(c)case A: /添加子女信息请输入那个人的名字:scanf(%s,name);Tree=SearchTree(Tree,name,20);/在家谱里查找这个人if(Tree=NULL)该家谱图中没有%s这个人的信息请确认是否输入错误nbreak;if(Tree-Parent=NULL&NextNode0=NULL|Tree-
2、Parent!=NULL&Name!=Tree-Parent-NextNode0-Name)至今还没有配偶请先添加配偶n,Tree-Name);(Tree-Num20|Tree-NumParent;NewNode=(TreeNode *)malloc(sizeof(TreeNode);请输入添加人员姓名:,NewNode-请输入添加人员性别女F男M:%1s,&NewNode-Kind);num=Tree-Num;NextNode0=(TreeNode *)malloc(sizeof(TreeNode);NextNode0=NULL;Parent=Tree;NextNodenum+1=NewNo
3、de;Num=Tree-Num+1;子女的信息添加成功nBstrcmp(Tree-Name,Tree-Name)=0|Tree-NextNode0!=NULL)已经有了配偶n该家谱图中没有%s这个人的信息请确认nNextNode0=NewNode;C本项服务到此结束nndefault:对不起!你的选择错误nif (c=|c=c)请按Enter键继续操作n/修改某个人的信息void Change(TreeNode * Tree)请输入你要修改的人的信息:NewNode=SearchTree(Tree,name,20);if(NewNode=NULL)return;elseSubMenue1(Ne
4、wNode);/输出副菜单void SubMenue1(TreeNode * Tree)int flag,i;char Parent220;修改个人的信息n修改父母的信息n修改兄弟姐妹的信息nD:修改子女的信息nE:修改配偶的信息nF:请输入修改的姓名:如果不需要修改就输入0然后按Enter键继续nif(strcmp(name,)!=0)Name,name);是否要修改性别:如果需要就输入1不需要修改就输入然后按Enter键继续n%dflag);if (flag=1)Kind=F|Tree-fKind=M;else Tree-个人信息修改成功nParent=NULL) /判断是不是头节点是这个
5、家谱图里最顶端的人没有父母信息!if (MATEFLAG=1) /判断是不是入赘或加入此间的她是嫁入此间的所以父母信息不在家谱内包括n他是入赘此间的所以父母信息不在家谱内包括nstrcpy(Parent0,母亲strcpy(Parent1,父亲请输入%s要修改的姓名:然后按Enter键继续,Parent0);,Parent1);父母的信息修改成功nNewNode=Tree-if(NewNode=NULL) /判断是不是头节点是这个家谱图里最顶端的人没有兄弟姐妹信息!是不是入赘或嫁入这家的她是嫁入此间的所以兄弟姐妹信息不在家谱内包括n他是入赘此间的所以兄弟姐妹信息不在家谱内包括nif(NewNode-Num=1)没有兄弟姐妹nfor(i=1;ii+)NextNodei-Name!请输入%s修改的姓名:然后按Enter键继续nstrcpy(NewNode-G|NewNode-gelse NewNode-兄弟姐妹的信息修改成功nDNum=0)至今还没有子女nif (Tree-Parent !if (strcmp(Tree-Name)=0) /如果他是入赘或者是嫁入的就需用配偶节点完成修改然后按Enter键继续n
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1