数据结构家谱管理系统.doc
《数据结构家谱管理系统.doc》由会员分享,可在线阅读,更多相关《数据结构家谱管理系统.doc(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、/题目:家谱资料管理/要求:家谱用于记录某家族历代家族成员得情况与关系。现编制一个家谱资料管理软件,/实现对一个家族所有得资料进行收集整理。支持对家谱得增加,删除,更新,统计等./ilude sdi、h#include Name!=TrearenNetode0Nme)rintf(nts至今还没有配偶请先添加配偶”,TreeNme);ak;if(TreeParent=UL&(TNum20reeNm0)Tee-Num=0;f(MATLAG=) TeeTeePae;ewNode=(reNod*)alloc(sieo(Treeode));pritf(”nnt请输入添加人员姓名:nt);scaf(s”,
2、NNdeNme);pri(nt请输入添加人员性别女G男:nt”);scnf(1”,&NewNoe-Kin);nu=Tre-Num;NewNodeNextNode0=(TreNoe )mallo(sizef(TreNode));wode-NtNoe0NL;woe-N=;NewNoeart=re;Tree-Nexdu1=Newoe;Te-umTrNum+1; rnt(”t-子女得信息添加成功-);brea;case B: printf(nnt请输入那个人得名字:nt”);scnf(”%s”,ame);re=Searhree(Tree,nam,2);if(Teearet!=NULL&strcmp(T
3、re-Nam,TrePrenNxtode0Nae)=0|TrtNod!NUL)prntf(nnt已经有了配偶);brea;i(Tre=NULL)pintf(”nt*该家谱图中没有s这个人得信息请确认就是否输入错误*n”,am);bea;Newoe(TreeNod )malloc(sizeo(TeeNode));prinf(”nn请输入添加人员姓名:nt);scanf(”s,NewN-Nam);prntf(nt请输入添加人员性别女G男:nt”);scaf(%1,NeNode-Kind);NewNodePan=ee;TreeNextNode0NNode;break;case C: intf(”nt
4、-本项服务到此结束-”);brak; csen: bea;efault: print(nnt-对不起!您得选择不在服务范围之内!- );printf(n-请您再次选择所需得服务项!- ”);rnt(n-谢谢合作!-nt);beak;if (c=|c=c) /?brak; rint(”nnt-请按Ent键继续操作-);getchar();gtcr();/修改某个人得信息oid Cange(TeeNode ree) chr nae0;TeNode* NwNod;it(nt请输入您要修改得人得信息:nt); sanf(%s,nae);ewNod=Shree(Tre,name,0);if(ewNode
5、=ULL) prtf(”nnt*该家谱图中没有%这个人得信息请确认就是否输入错误*n,nae);etur;elseSubMenue1(ewd);/输出副菜单voi Subnu1(TreNod *ee)cac;it flag,i;cha nae2;char Pant220;TeeNoe NewNde;gethar();hile(1)sytem(cs);printf(”t); printf(nnt *-请选择您得操作-*- );rint(nt-*-A:修改个人得信息-*-*- );rintf(t-*-*-:修改父母得信息-*-*- );rin(nt-*-*-:修改兄弟姐妹得信息-*-*-*- ”)
6、;pn(nt-*-*-D:修改子女得信息*-*-*- );rintf(”nt-*-E:修改配偶得信息-*-*-*- ”);prntf(nt-*:退出-*-*-n”);c=gechar();witch()ca A: rinf(nnt请输入修改得姓名:如果不需要修改就输入然后按Ener键继续n”);can(”%s,ame);if(strcmp(name,0)!=0) rcy(ree-Name,name);rntf(nn就是否要修改性别:如果需要就输入1不需要修改就输入0然后按Entr键继续nt); saf(d,flag); f (fa=)if(Tee-Kind=GTre-ind=g)TreeKid
7、B;else Treeid=G;printf(”nt个人信息修改成功”);bea;cse B:f(eaentNULL) /判断就是不就是头节点prit(nt就是这个家谱图里最顶端得人没有父母信息!”,ne); break;if(MATEFA=) /判断就是不就是入赘或加入此间得i(eKidGTreeKn=g) prntf(n她就是嫁入此间得所以父母信息不在家谱内包括);elseprintf(”nnt她就是入赘此间得所以父母信息不在家谱内包括”);break;f(Tree-Parentind=G|reretKind=g)trcy(Paet0,母亲);rcpy(Prnt1,”父亲);lse str
8、cpy(Par0,父亲);rcpy(Pren1,母亲”);pintf(”nt请输入%s要修改得姓名:如果不需要修改就输入0然后按Ete键继续nt”,Parent);scanf(s,name);f(strcmp(na,)!=0)stpy(TeParenNe,nme);pintf(nnt请输入s要修改得姓名:如果不需要修改就输入然后按Ener键继续t,Parn);scan(”s,name);if(srcmp(name,0”)!=0)strcp(TrePartNextNode0-Name,name); pntf(”nnt-父母得信息修改成功-);brek;ce C:NwNoderee-Pret;if
9、(NewN=ULL) /判断就是不就是头节点prinf(就是这个家谱图里最顶端得人没有兄弟姐妹信息!,me); brea; (MAELAG=1) /判断就是不就是入赘或加入此间得i(TreKd=GTreeKidg) prinf(nn她就是嫁入此间得所以兄弟姐妹信息不在家谱内包括);elserinf(”nn她就是入赘此间得所以兄弟姐妹信息不在家谱内包括);bak;f(Nwode=1)print(nn没有兄弟姐妹”);reak;eseor(i1;iNewNodeNum;+)f(NewNodNextNdeiae!reName)printf(nn请输入%s修改得姓名:如果不需要修改就输入0然后按Eer
10、键继续nt,Newoe-etNdeiName);scan(”,nae);if(trmp(name,0)!0)rcpy(ewNoe-NextNoam,ne);rint(nt就是否要修改性别:如果需要就输入1不需要修改就输入0然后按Ener键继续nt);scaf(”d”,flg);if (flg=1)f(NewNodeNtNodeiKindGwNde-NextNdend=g)NewNde-NxtNodeiKind=B;s Newod-NexodKind=G; intf(nt-兄弟姐妹得信息修改成功-);eak;cas D:if(Tre-u=0)pritf(nt至今还没有子女);break;if (
11、Tee-Parent !NUL)f (strm(Treame,Te-Parnt-NexNd0Na)=0) /如果她就是入赘或者就是嫁入得就需用配偶节点完成修改Tree=Tree-Parnt;fo(i=1;i=Tree-Num;i+)pnf(nt请输入%修改得姓名:如果不需要修改就输入0然后按Ente键继续n,reeNexNoiNam);scnf(”s”,ame);if(strp(n,0)!=0)strcpy(Tre-NxNodeNae,n);rinf(nnt就是否要修改性别:如果需要就输入1不需要修改就输入0然后按Enter键继续nt);canf(%d,flag);if(a=1)if(Tree
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 家谱 管理 系统
限制150内