• 大小: 3.09MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-12
  • 语言: C/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(“请输入此人名字:\n“);
scanf(“%s“F->data.name);
    fflush(stdin);
a=Value(TF->data.name);
if(a)
{
printf(“此人已存在该家谱中!\n“);
return 0;
}
printf(“请输入此人性别(男输入1,女输入0):\n“);
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(“输入数据有误请重新输入!\n“);
fflush(stdin);
break;
}
}
printf(“请输入此人身高(单位:cm):\n“);
scanf(“%d“&(F->data.height));
fflush(stdin);
printf(“请输入此人居住地址:\n“);
scanf(“%s“F->data.address);
fflush(stdin);
    printf(“请输入此人父亲的名字(无父亲请输入0):\n你有3次机会\n“);
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(“父亲姓名输入错误\n你还有%d次机会\n“i);
}
else
{
printf(“父亲姓名输入正确。\n“);
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)\n“);
j=1;
while(j)
{
        scanf(“%d“&(F->data.jiehun));
fflush(stdin);
switch(F->data.jiehun)
{
case 1:
j=0;
printf(“请输入此人配偶的名字:\n“);
scanf(“%s“F->data.wife_or_husband);
fflush(stdin);
break;
case 0:
j=0;
            strcpy(F->data.wife_or_husband“0“);
break;
default:
printf(“输入数据有误请重新输入!\n“);
fflush(stdin);
break;
}
}

printf(“请输入此人出生地址:\n“);
scanf(“%s“F->data.birthplace);
fflush(stdin);
printf(“请输入此人学历:\n“);
scanf(“%s“F->data.education);
fflush(stdin);
printf(“请输入此人的职业:\n“);
scanf(“%s“F->data.occupation);
fflush(stdin);
printf(“请输入此人的简历(字数控制在50字以内):\n“);
scanf(“%s“F->data.resume);
fflush(stdin);
    printf(“请说明此人是否还健在(健在输入1死亡输入0):\n“);
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(“输入数据有误请重新输入!\n“);
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  家谱\Debug\1.obj
     文件           0  2012-02-16 23:33  家谱\Debug\1.sbr
     文件       18428  2012-02-16 23:33  家谱\Debug\2.obj
     文件           0  2012-02-16 23:33  家谱\Debug\2.sbr
     文件       13900  2012-02-16 23:33  家谱\Debug\3.obj
     文件           0  2012-02-16 23:33  家谱\Debug\3.sbr
     文件       17526  2012-02-16 23:33  家谱\Debug\4.obj
     文件           0  2012-02-16 23:33  家谱\Debug\4.sbr
     文件       34237  2012-02-17 22:02  家谱\Debug\5.obj
     文件           0  2012-02-17 22:02  家谱\Debug\5.sbr
     文件       31867  2012-02-16 23:33  家谱\Debug\6.obj
     文件           0  2012-02-16 23:33  家谱\Debug\6.sbr
     文件       28718  2012-02-16 23:33  家谱\Debug\7.obj
     文件           0  2012-02-16 23:33  家谱\Debug\7.sbr
     文件       14755  2012-02-16 23:33  家谱\Debug\8.obj
     文件           0  2012-02-16 23:33  家谱\Debug\8.sbr
     文件       12975  2012-02-16 23:33  家谱\Debug\alog3_2.obj
     文件           0  2012-02-16 23:33  家谱\Debug\alog3_2.sbr
     文件       21422  2012-02-16 23:33  家谱\Debug\gongneng.obj
     文件           0  2012-02-16 23:33  家谱\Debug\gongneng.sbr
............此处省略20个文件信息

评论

共有 条评论