数据结构家谱图代码文档格式.docx

上传人:b****6 文档编号:15718548 上传时间:2022-11-15 格式:DOCX 页数:29 大小:21.60KB
下载 相关 举报
数据结构家谱图代码文档格式.docx_第1页
第1页 / 共29页
数据结构家谱图代码文档格式.docx_第2页
第2页 / 共29页
数据结构家谱图代码文档格式.docx_第3页
第3页 / 共29页
数据结构家谱图代码文档格式.docx_第4页
第4页 / 共29页
数据结构家谱图代码文档格式.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

数据结构家谱图代码文档格式.docx

《数据结构家谱图代码文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构家谱图代码文档格式.docx(29页珍藏版)》请在冰豆网上搜索。

数据结构家谱图代码文档格式.docx

//字体颜色的改变

printf("

***************家谱信息功能表*************\n"

);

SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY+FOREGROUND_BLUE|FOREGROUND_GREEN);

1:

新建一个根节点\n"

2:

以添加成员节点构造家谱图\n"

3:

家谱树的层次显示\n"

4家谱树保存到文件!

\n"

5:

家谱树读入文件!

:

家谱信息的删除\n"

6:

结束程序\n"

************按以上功能表进行操作*************\n"

SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY+FOREGROUND_BLUE+FOREGROUND_GREEN+FOREGROUND_RED);

for(i=1;

i<

=100;

{

printf("

请输入你在功能表上的选项:

"

);

scanf("

%d"

&

chose);

if(1<

=chose<

=11)

break;

else

printf("

你输入的选项不正确,请重新输入!

}

switch(chose)

case1:

system("

cls"

//在控制台程序使用清屏函数

InPut(T);

//录入个人信息

按任意键返回"

//等待程序

pause"

break;

case2:

Addchild(T);

//比较兄弟岁数后再添加

case3:

LevelOutput(T);

case4:

KCreatTree(T);

//将家谱信息保存到文件中

case5:

LCreateTree(T);

//从文件中读出家谱成员的信息

case6:

exit(0);

default:

fflush(stdin);

你输入的选项不正确!

请从新输入菜单的选项!

}

}

 

//Head.h

#defineQUEUESIZE100

typedefstructData//出生日期结构体

intday;

intmonth;

intyear;

}dataly;

typedefstructBiTNode//个人资料信息

{

charlive[15];

//建在(T表示活着,F表示过世)

charname[20];

//姓名

charsex[15];

//性别

charmarriage[15];

//是否已婚(Y为已婚,N为未婚)

charbirthadd[20];

//出生地

charaddress[15];

//家庭地址

charprofession[20];

//职业

charfathername[20];

//父亲姓名

intgeneration;

//辈分

intmessage;

//接点孩子的个数

inthight;

//升高

intage;

//年龄

datalybirthday;

//出生日期

datalydieday;

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

structBiTNode*brother;

//兄弟

structBiTNode*child;

//孩子

structBiTNode*parent;

//父母

}BiTNode,*BinTree;

typedefBinTreeQElemType;

/*typedefstruct

intfront;

intrear;

QElemTypeelem[QUEUESIZE];

}SqQueue;

*/

typedefstructQNode

QElemTypedata;

structQNode*next;

}QNode,*QueuePtr;

typedefstruct

QueuePtrfront,rear;

}LinkQueue;

intJudgeTime(BinTree);

intComepare(BinTree);

voidInPut(BinTree&

T);

BinTreeLevelFind(BinTree&

T,BinTreea);

voidCreatfTree(BinTree&

voidAddchild(BinTree&

voidOutPut(BinTreeT);

voidLevelOutput(BinTreeT);

voidPreOrderD(BinTreeT);

voidKCreatTree(BinTree&

s);

voidKeepTTFile(BinTreeT,FILE*fp);

voidPrinfTree(BinTreep,FILE*fp);

voidLAddchild(BinTree&

T,LinkQueue&

S,FILE*fp);

voidLCreateTree(BinTree&

//function.cpp

//*********************************************************

//*********************************************************

voidInitQueue(LinkQueue&

Q)

if(!

(Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode))))

exit(0);

Q.front->

next=NULL;

return;

intQueueEmpty(LinkQueueQ)

return(Q.front->

next==NULL);

intGetHead(LinkQueueQ,QElemType&

e)

if(Q.front==Q.rear)

return0;

e=Q.front->

next->

data;

return1;

voidEnQueue(LinkQueue&

Q,QElemTypee)

QueuePtrp;

(p=(QueuePtr)malloc(sizeof(QNode))))

p->

data=e;

Q.rear->

next=p;

Q.rear=p;

intDeQueue(LinkQueue&

Q,QElemType&

p=Q.front->

next;

e=p->

next=p->

if(Q.rear==p)

Q.rear=Q.front;

free(p);

voidQueueTraverse(LinkQueueQ)

while(p)

p->

data);

p=p->

printf("

//****************************************************************************

intJudgeTime(BinTreep)//判断输入的出生日期是否正确

if(p->

birthday.year>

2013||p->

birthday.year<

=0)

你输入的年份错误,请重新输入!

if(12<

p->

birthd

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1