数据结构家谱图代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//main.cpp

# include

# include

# include

# include

# include

# include "Head.h"

void main()

{

HANDLE consolehwnd;

//字体颜色的改变

consolehwnd = GetStdHandle(STD_OUTPUT_HANDLE);

//字体颜色的改变

int chose,i;

BinTree T;

T=NULL;

while(1)

{

SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY+FOREGROUND_RED);

//字体颜色的改变

printf("***************家谱信息功能表*************\n");

SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY+FOREGROUND_BLUE|F OREGROUND_GREEN);

printf("1:新建一个根节点\n");

printf("2:以添加成员节点构造家谱图\n");

printf("3:家谱树的层次显示\n");

printf("4家谱树保存到文件!\n");

printf("5:家谱树读入文件!\n");

printf(":家谱信息的删除\n");

printf("6:结束程序\n");

SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY+FOREGROUND_RED);

//字体颜色的改变

printf("************按以上功能表进行操作*************\n");

SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY+FOREGROUND_BLUE+F OREGROUND_GREEN+FOREGROUND_RED);

for(i=1;i<=100;)

{

printf("请输入你在功能表上的选项:") ;

scanf("%d",&chose);

if(1<=chose<=11)

break;

else

printf("你输入的选项不正确,请重新输入!\n");

}

switch(chose)

{

case 1:

system("cls"); //在控制台程序使用清屏函数InPut(T); //录入个人信息

printf("按任意键返回"); //等待程序

system("pause");

system("cls");

break;

case 2:

system("cls");

Addchild(T); //比较兄弟岁数后再添加

system("pause");

system("cls");

break;

case 3:

system("cls");

LevelOutput(T);

system("pause");

system("cls");

break;

case 4:

system("cls");

KCreatTree(T); //将家谱信息保存到文件中

system("pause");

system("cls");

break;

case 5:

system("cls");

LCreateTree(T); //从文件中读出家谱成员的信息system("pause");

system("cls");

break;

case 6:

system("cls");

exit(0);

system("pause");

system("cls");

break;

default:

fflush(stdin);

printf("你输入的选项不正确!\n");

printf("请从新输入菜单的选项!\n");

system("pause");

system("cls");

}

}

}

//Head.h

# include

# include

# include

# include

# include

# define QUEUESIZE 100

typedef struct Data //出生日期结构体

{

int day;

int month;

int year;

}dataly;

typedef struct BiTNode //个人资料信息

{

char live[15]; //建在(T表示活着,F表示过世)char name[20]; //姓名

char sex[15]; //性别

char marriage[15]; //是否已婚(Y为已婚,N为未婚)char birthadd[20]; //出生地

char address[15]; //家庭地址

char profession[20]; //职业

char fathername[20]; //父亲姓名

int generation; //辈分

int message; //接点孩子的个数

int hight; //升高

int age; //年龄

dataly birthday; //出生日期

dataly dieday; //死亡日期(如果其已经死亡)

struct BiTNode *brother; //兄弟

struct BiTNode *child; //孩子

struct BiTNode *parent; //父母

}BiTNode,*BinTree;

typedef BinTree QElemType;

相关文档
最新文档