




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>#defineMAXS100#defineElemtypechartypedefstructBiTNodeintmark;intlevel;charname50;charbirthday50;charaddressMAXS;Elemtypedata;structBiTNode*lc,*rc;BiTNode,*BiTree;charnametemp50;姓名charbirthdaytemp50;/生日chara
2、ddresstempMAXS;/地址charch;intleveltemp;intNth;charsearchdata50;charsearchname50;intcount;BiTreetemp;BiTreeCreateBiTree(FILE*fp);voidPrintInfo(BiTreeT);voidPreOrderTS(BiTreeT);voidShowNth(BiTreeT);voidSearchByName(BiTreeT);voidSearchByBirthday(BiTreeT);voidAddChild(BiTreeT);voidDeleteByName(BiTreeT);v
3、oidsearchmenu();voidmenu();voidinsystem();voidclosefile();#include"my.h"voidSearchByName(BiTreeT)/按照姓名查询,输出成员信息if(T->lc->rc)temp=T->lc->rc;while(temp)if(strcmp(temp->name,searchname)=0)count+;printf("n此人的信息为:n");Printlnfo(temp);printf("此人父兄的信息为:n");Printl
4、nfo(T);if(temp->lc->rc)printf("此人孩子的信息为:n");temp=temp->lc->rc;while(temp)Printlnfo(temp);temp=temp->rc;return;elsetemp=temp->rc;SearchByName(T->lc);SearchByName(T->rc);elseprintf("请先建立家庭关系n");return;voidSearchByBirthday(BiTreeT)/按照出生日期查询成员名单if(T)if(strcmp(
5、T->birthday,searchdata)=0)Printlnfo(T);count+;voidAddChild(BiTreeT)/某成员添加孩子if(T)if(strcmp(T->name,searchname)=0)count+;temp=(BiTree)malloc(sizeof(BiTNode);printf("请输入添加孩子的姓名:n");scanf("%s",temp->name);printf("请输入添加孩子的出生年月:(格式形如:2010-1-1)n");scanf("%s"
6、,temp->birthday);printf("请输入添加孩子的家庭住址:n");scanf("%s",temp->address);temp->level=T->level+1;temp->rc=T->lc->rc;temp->lc=NULL;T->lc->rc=temp;printf("孩子添加成功n");return;AddChild(T->lc);AddChild(T->rc);elseprintf("请先建立家庭关系n");retu
7、rn;voidDeleteByName(BiTreeT)/删除某成员(若其还有后代,则一并删除)if(T)if(strcmp(T->name,searchname)=0)count+;T=NULL;return;DeleteByName(T->lc);DeleteByName(T->rc);BiTreeCreateBiTree(FILE*fp)if(!feof(fp)BiTreeT;T=(BiTree)malloc(sizeof(BiTNode);fscanf(fp,"%s%s%sn",nametemp,birthdaytemp,addresstemp);
8、fscanf(fp,"%d",&leveltemp);if(strcmp(nametemp,"n")=0)&&(strcmp(birthdaytemp,"n")=0)&&(strcmp(addresstemp,"n")=0)T=NULL;returnT;elsestrcpy(T->name,nametemp);strcpy(T->birthday,birthdaytemp);strcpy(T->address,addresstemp);T->level
9、=leveltemp+1;printf("读取成功n");T->lc=CreateBiTree(fp);T->rc=CreateBiTree(fp);returnT;elsereturnNULL;#include"my.h"voidmain()BiTreeT;intchoice;FILE*fp;T=NULL;需操作:");-nn");择:");T=CreateBiTree(fp);父母的姓名:n");n");count=0;printf("请输入要删除成员的姓名:");sc
10、anf("%s",searchname);DeleteByName(T);if(count=0)printf("没有这个人n");fp=fopen("F:family.txt","r");insystem();while(1)system("cls");menu();printf("请根据菜单进行选择所while(scanf("%d”,&choice)!=1)fflush(stdin);printf("n-输入错误printf("请重新输入正确选f
11、flush(stdin);switch(choice)case 1:system("pause");break;case 2:count=0;printf("请输入要添加孩子scanf("%s",searchname);AddChild(T);if(count=0)printf("没有这个人system("pause");break;case 3:system("pause");break;case 4:searchmenu();printf("请输入选择:n");syste
12、m("pause");break;case 5:PreOrderTS(T);system("pause");break;case 6:closefile();case 7:printf("请输入需要查询第几代人:");count=0;scanf("%d",&Nth);ShowNth(T);if(count=0)printf("第d代尚未有人。n",Nth);system("pause");break;case 8:printf("请输入要查询人的姓名:&qu
13、ot;);scanf("%s",searchname);if(strcmp(T->name,searchname)=0)printf("此人为家谱的祖先,其信息为:n");printf("%-10s%-10s%-10sn",T->name,T->birthday,T->address);printf("他兄弟的信息为:n");printf("%-10s%-10s%-10s%n”,T->lc->name,T->lc->birthday,T->lc->
14、;address);temp=T->lc;if(temp->rc)printf("他孩子的信息为:n");temp=temp->rc;while(temp)printf("%-10s%-10s%-10sn",temp->name,temp->birthday,temp->address);temp=temp->rc;elsecount=0;SearchByName(T);if(count=0)printf("对不起,不能检测这个人的信息n");system("pause")
15、;break;case 9:printf("请输入要查询人的生日:");count=0;scanf("%s",searchdata);SearchByBirthday(T);if(count=0)printf("%s没有人过生日。n",searchdata);system("pause");break;default:printf("n-输入错误一n");break;printf("nn");printf("按任意键继续!");getch();#inclu
16、de"my.h"voidinsystem()intflag1,flag2;charname20="student"charpassword10="111111”;charperson20;chara10;printf("tt*欢迎进入家谱管理系统!*nn");printf("ttt用户登录nn");printf("tttt用户名:");gets(person);flag1=strcmp(person,name);printf("tttt密码:");gets(a);f
17、lag2=strcmp(password,a);功!nn");密码错误! nn");您无权使用!nn");if(flag1=0&&flag2=0)printf("tttt登录成elseprintf("ttt用户名或printf("tttexit(0);#include"my.hvoidmenu()printf("*nn");*欢迎使用家谱管理系统*printf("tt1建立家族关系(并保存)n");printf("tt2添加家族成员n");print
18、f("tt3删除家族成员n");printf("tt4查询家族成员n");printf("tt5显示家族关系n");printf("tt6>退出系统n");*n");printf("tt*voidsearchmenu()printf("tt7>按姓名查询n");printf("tt8按出生日期查询n");voidPrintInfo(BiTreeT)printf("%10s%10s%10sn",T->name,T->b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑业安全责任协议书
- 租房交换协议书
- 造假就业协议书
- 道路修补协议书
- 联防互助协议书
- 租赁模具协议书
- 房管所合同解除协议书
- 砂仁管理协议书
- 珠海市政府合作协议书
- 纸箱调价协议书
- 案例研究-海洋水产养殖(海洋牧场及渔业综合体)项目投资方案可行性
- 2025届河南省许昌市名校高三下学期第二次模拟考试英语试题(原卷版+解析版)
- 蛛网膜下腔出血介入术后护理
- 2025年临床执业医师考试的院前急救知识试题及答案
- 数据治理架构试题及答案
- 会考地理综合题答题模板+简答题归纳-2025年会考地理知识点梳理
- 广州中小企业招工难问题研究
- 2025年度综合物业管理外包服务专项合同
- 2026年版广西高等职业教育考试(新职教高考)普高生专用升高职大专《职业适应性测试》模拟试卷(第3套)
- 国家开放大学行管本科《城市管理学》期末纸质考试总题库2025春期版
- 军队文职招聘(临床医学)近年考试真题题库(含真题、典型题)(重点题)
评论
0/150
提交评论