#include <stdio.h>
#include <stdlib.h>
typedef struct people{
char name[20];
int is_married;
char sex;
int age;
}p;
typedef struct f_people{
p I;
p par;
struct f_people *lchild;
struct f_people *rbro;
}f;
void input_f(f *people){
people=(f*)malloc(sizeof(f));
printf("请输入他/她的姓名");
scanf("%s",people->I.name);
printf("请输入他/她的性别(男M/女W)");
getchar();
scanf("%c",&people->I.sex);
if(people->I.sex=='M'||people->I.sex=='m'){
printf("请输入他的年龄");
scanf("%d",&people->I.age);
printf("请输入他是否已婚(是1/否0)");
scanf("%d",&people->I.is_married);
if(people->I.is_married==1){
printf("请输入她的姓名");
scanf("%s",people->par.name);
printf("请输入她的年龄");
scanf("%d",&people->par.age);
if(prople->I.sex=='m'||people->I.sex=='M'){
prople->par.sex='W';
}else{
prople->par.sex='m';
}
people->par.is_married=1;
}else{
return;
}
}else{
printf("请输入她的年龄");
scanf("%d",&people->I.age);
}
printf("请输入他/她是否已婚(是1/否0)");
scanf("%d",&people->I.is_married);
if(people->I.is_married==1){
printf("请输入他/她的姓名");
scanf("%s",people->I.name);
printf("请输入她的年龄");
scanf("%d",&people->I.age);
}else{
return;
}
}
void create (f* people){
if(people->I.name=='#'){
return;
}
input_f(people);
create(people->lchild);
create(people->rbro);
}
void create2 (f*people){
input_f(prople)
}
void print (f*people){
}
int main(){
int a1=0,a2=0;
printf("家庭族谱管理系统");
printf("********************************");
printf("1.创建一个家庭族谱/n2.读取存档的家庭族谱/n请输入1/2");
printf("********************************");
scanf("%d",a1);
while(1){
switch (a1) {
case 1:
f *people;
printf("1.通过前根遍历的顺序将空的位置补#来实现/n2.通过层次顺序来实现/n请输入1/2" );
printf("********************************");
scanf("%d",a2);
switch (a2) {
case 1:
create(people);
break;
case 2:
break;
default:
break;
}
break;
case 2:
break;
default:
break;
}
}
}