c语言数据结构期末大作业-家族族谱管理


c语言数据结构期末大作业-家族族谱管理 要求设计实现具有下列功能的家谱管理系统: (1)输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含以下内容: 姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。 (2) 实现数据的存盘和读盘。 (3)以图形方式显示家谱。 (4)显示第n 代所有人的信息。 (5)按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。 (6)按照出生日期查询成员名单。 (7)输入两人姓名,确定其关系。 (8)某成员添加孩子。 (9)删除某成员(若其还有后代,则一并删除)。 (10)修改某成员信息。 (11)按出生日期对家谱中所有人排序。 (12)打开一家谱时,可提示当天生日的健在成员。
资源截图
代码片段和文件信息
#include 
#include 
#include 
#include  
#include “jiapu.h“
#include 


int Createfamilytree(person &Fperson &T)          //创建家谱树函数,即为空家谱添加一个祖先
{
int ij=1;
person a; 
    a=(person)malloc(sizeof(CSNode));
xin(a);
printf(“请输入此人名字:
“);
scanf(“%s“F->data.name);
    fflush(stdin);
a=Value(TF->data.name);
if(a)
{
printf(“此人已存在该家谱中!
“);
return 0;
}
printf(“请输入此人性别(男输入1,女输入0):
“);
while(j)
{
        scanf(“%d“&(F->data.sex));
fflush(stdin);
switch(F->data.sex)
{
case 1:
j=0;
break;
case 0:
j=0;
break;
default:
printf(“输入数据有误请重新输入!
“);
fflush(stdin);
break;
}
}
printf(“请输入此人身高(单位:cm):
“);
scanf(“%d“&(F->data.height));
fflush(stdin);
printf(“请输入此人居住地址:
“);
scanf(“%s“F->data.address);
fflush(stdin);
    printf(“请输入此人父亲的名字(无父亲请输入0):
你有3次机会
“);
i=3;
    while(i)
{
scanf(“%s“F->data.parentname);
fflush(stdin);
if(strcmp(F->data.parentname“0“)==0)
break;
else
{
a=Value(TF->data.parentname);
if(a==0||a->data.sex==0)
{
i--;
printf(“父亲姓名输入错误
你还有%d次机会
“i);
}
else
{
printf(“父亲姓名输入正确。
“);
F->parent=a;
if(a->firstchild==NULL)
a->firstchild=F;
else
{
a=a->firstchild;
while(a->nextbrother)
a=a->nextbrother;
a->nextbrother=F;
}
break;
}
}
}
if(!i)
{
        fflush(stdin);
return 0;
}


printf(“请说明此人是否已婚(已婚输入1,未婚输入0)
“);
j=1;
while(j)
{
        scanf(“%d“&(F->data.jiehun));
fflush(stdin);
switch(F->data.jiehun)
{
case 1:
j=0;
printf(“请输入此人配偶的名字:
“);
scanf(“%s“F->data.wife_or_husband);
fflush(stdin);
break;
case 0:
j=0;
            strcpy(F->data.wife_or_husband“0“);
break;
default:
printf(“输入数据有误请重新输入!
“);
fflush(stdin);
break;
}
}

printf(“请输入此人出生地址:
“);
scanf(“%s“F->data.birthplace);
fflush(stdin);
printf(“请输入此人学历:
“);
scanf(“%s“F->data.education);
fflush(stdin);
printf(“请输入此人的职业:
“);
scanf(“%s“F->data.occupation);
fflush(stdin);
printf(“请输入此人的简历(字数控制在50字以内):
“);
scanf(“%s“F->data.resume);
fflush(stdin);
    printf(“请说明此人是否还健在(健在输入1死亡输入0):
“);
j=1;
while(j)
{
scanf(“%d“&(F->data.alive));
fflush(stdin);
switch(F->data.alive)
{
case 1:
i=0;
j=0;
while(i==0)
{
i=riqi(F);
}
F->data.deathdate.year=F->data.deathdate.month=F->data.deathdate.day=0;
break;
case 0:
i=0;
j=0;
while(i==0)
{
i=riqi(F);
}
i=0;
while(i==0)
{
i=riqi1(F);
}
break;



default:
printf(“输入数据有误请重新输入!
“);
fflush(stdin);
break;
}
}

    return 1;
}

int time(person &T)              //判断出生日期是否在今天之前
{
int Wabc;
int U=0V=0X=0D=0J=0L=0;
time_t tval;
struct tm *now;
tval = time(NULL);
now = localtime(&tval);
a=no

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-12-27 17:00  家谱
     文件        7897  2012-02-15 17:03  家谱1.cpp
     文件        3802  2012-02-15 17:03  家谱2.cpp
     文件        1249  2012-02-15 17:03  家谱3.cpp
     文件        2757  2012-02-16 20:52  家谱4.cpp
     文件        9763  2012-02-17 22:02  家谱5.cpp
     文件       12634  2012-02-15 19:53  家谱6.cpp
     文件        8651  2012-02-15 17:03  家谱7.cpp
     文件        2118  2012-02-15 17:03  家谱8.cpp
     文件         827  2012-02-15 17:03  家谱alog3_2.cpp
     目录           0  2012-02-17 22:02  家谱Debug
     文件       28957  2012-02-16 23:33  家谱Debug1.obj
     文件           0  2012-02-16 23:33  家谱Debug1.sbr
     文件       18428  2012-02-16 23:33  家谱Debug2.obj
     文件           0  2012-02-16 23:33  家谱Debug2.sbr
     文件       13900  2012-02-16 23:33  家谱Debug3.obj
     文件           0  2012-02-16 23:33  家谱Debug3.sbr
     文件       17526  2012-02-16 23:33  家谱Debug4.obj
     文件           0  2012-02-16 23:33  家谱Debug4.sbr
     文件       34237  2012-02-17 22:02  家谱Debug5.obj
     文件           0  2012-02-17 22:02  家谱Debug5.sbr
     文件       31867  2012-02-16 23:33  家谱Debug6.obj
     文件           0  2012-02-16 23:33  家谱Debug6.sbr
     文件       28718  2012-02-16 23:33  家谱Debug7.obj
     文件           0  2012-02-16 23:33  家谱Debug7.sbr
     文件       14755  2012-02-16 23:33  家谱Debug8.obj
     文件           0  2012-02-16 23:33  家谱Debug8.sbr
     文件       12975  2012-02-16 23:33  家谱Debugalog3_2.obj
     文件           0  2012-02-16 23:33  家谱Debugalog3_2.sbr
     文件       21422  2012-02-16 23:33  家谱Debuggongneng.obj
     文件           0  2012-02-16 23:33  家谱Debuggongneng.sbr
............此处省略20个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)