C语言二叉树家谱管理系统(2)

2018-12-03 19:06

图2 成员二叉树功能模块图

1.2 总体功能模块

家谱管理系统 家谱的建立 家谱的插入 家谱的删除 图3 总体功能模块图

家谱的查找 家谱的显示 2 系统各功能模块的详细设计

2.1功能选择

功能选择模块函数,主要提供1:文件 2:家谱 两个功能模块让用户选择。输入数字1的时候,出现界面1:输入 2:输出 9:清盘 0:存盘返回。返回后输入数字2,出现界面1:找某人的所有儿子 2:找某人所有祖先 。用户根据自己的需求选择 void main()

4

{

BTree *bt;

FamType fam[MaxSize]; int n,sel,sell; ReadFile(fam,n); do {

printf(\文件操作2.家谱操作0.退出 请选择:\scanf(\switch(sel) {

case 1:

do {

printf(\:输入2:输出9:全清0:存盘返回 请选择:\scanf(\switch(sell) {

case 9:DelAll(fam,n);

break;

case 1:InputFam(fam,n);

break;

case 2:OutputFile(fam,n);

break;

case 0:SaveFile(fam,n); }

break;

}while (sell!=0); break; case 2:

bt=CreatBTree(\

5

}

}

do {

printf(\找某人所有儿子 2.找某人所有祖先 0:返回 请选择:\scanf(\switch(sell) { case 1:

FindSon(bt);

break;

case 2:

printf(\ }

break;

}while(sell!=0); break;

}while(sel!=0);

2.2信息输入

信息输入模块函数,出现界面请输入父亲、母亲和儿子的姓名让用户输入信息。代码如下:

void InputFam(FamType fam[],int &n) { }

printf(\输入父亲、母亲和儿子姓名:\

scanf(\n++;

6

2.3信息输出

信息输出模块函数,自动输出数据的信息及它们之间的家谱关系。按顺序输出父亲,母亲,儿子。代码如下: void OutputFile(FamType fam[],int n) {

int i; if(n<0) { }

for(i=0;i

printf(\printf(\没有任何记录\\n\return;

}

2.4信息存盘

信息存盘模块函数,将用户输入的信息存盘,下次要用时自动调用。代码如下:

void SaveFile(FamType fam[],int n) {

int i; FILE *fp;

if((fp=fopen(\{ }

for(i=0;i

fwrite(&fam[i],sizeof(FamType),1,fp); printf(\数据家谱文件不能打开\\n\return;

7

}

fclose(fp);

2.5信息清盘

信息清盘模块函数,将用户输入的信息全部清盘。代码如下: void DelAll(FamType fam[],int &n) { }

FILE *fp;

if((fp=fopen(\{ } n=0; fclose(fp);

printf(\不能打开家谱文件\\n\return;

2.6信息查询

信息查询模块函数,查询用户输入数据的信息及家谱关系。具有的功能是1:找某人所有儿子2:找某人所有祖先。用户根据需要操作。

找某人所有儿子的代码: void FindSon(BTree *bt) {

char xm[NAMEWIDTH]; BTree *p;

printf(\父亲姓名:\scanf(\p=FindNode(bt,xm); if(p==NULL)

printf(\不存在%s的父亲!\\n\

8


C语言二叉树家谱管理系统(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:(014)信息系统运行维护和技术支持服务合同

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: