数据结构课程设计(家族关系查询系统)(5)

2020-02-20 15:36

家族关系查询系统

再通过主函数调用实现的。 主函数:

/* 主控函数*/

int main(int argc,char* argv[]) {

DataType str[MAXNUM]=\,input[40]; int i,j,flag,start=0,pos,tag1,tag2; TriTree *temp,*tree=NULL; while(1) { printf(\欢迎使用家族关系查询系统!\\n\); printf(\请输入与之匹配的函数和参数,如parent(C)\\n\); printf(\新建一个家庭关系: Create(familyname) 参数为字符串\\n\); printf(\打开一个家庭关系: Open(familyname) 参数为字符串\\n\); printf(\添加新成员的信息: Append() 无参数\\n\); printf(\查找一个成员的祖先: Ancesstor(name) 参数为字符串\\n\); printf(\查找一个成员的祖先路径:AncesstorPath(name) 参数为字符串\\n\); printf(\确定一个成员是第几代: Generation(name) 参数为字符串\\n\); printf(\查找一个成员的双亲: Parent(name) 参数为字符串\\n\); printf(\查找一个成员的兄弟: Brothers(name) 参数为字符串\\n\); printf(\查找一个成员的堂兄弟: Consin(name) 参数为字符串\\n\); printf(\查找一个成员的孩子: Children(name) 参数为字符串\\n\);

printf(\查找一个成员的子孙后代:Descendants(name) 参数为字符串\\n\); printf(\退出系统: Exit() 无参数\\n? \);

21

家族关系查询系统

gets(input); /* input数组存放输入的函数和参数*/ j=0,tag1=0,tag2=0; for(i=0;i

22

家族关系查询系统

else if(strcmp(input,\)==0) flag=7; else if(strcmp(input,\)==0) flag=8; else if(strcmp(input,\)==0) flag=9; else if(strcmp(input,\)==0) flag=10; else if(strcmp(input,\)==0) flag=11; else if(strcmp(input,\)==0) flag=12; else /* 无匹配则重新输入*/ { printf(\无匹配的函数,请重新输入!\\n\); continue; } if(!(flag==1||flag==2||flag==12)&&start==0) { /* 如果第一次输入函数不是建立、打开或退出,则重新输入*/ printf(\请先建立或打开一个家族关系!\\n\); continue; } start=1; /* 标记不是第一次输入input */ if(flag>=4&&flag<=11) /* 函数需要字符串型参数name */ { temp=Search(tree,str);/* 若存在则返回结点*/ if(!temp) /* 若不存在则返回*/ { printf(\该成员不存在!\\n\); continue; } } switch(flag) /* 根据flag标记调用函数*/ { case 1: tree=Create(str);

23

家族关系查询系统

}

break; case 2: tree=Open(str); break; case 3: Append(tree); break; case 4: Ancesstor(tree); break; case 5: AncesstorPath(temp); break; case 6: Parent(temp); break; case 7: Generation(temp); break; case 8: Brothers(temp,str); break; case 9: Consin(temp); break; case 10: Children(temp); break; case 11: Descendants(temp); break; case 12: exit(OK); } }

return 0;

24

家族关系查询系统

3 调试结果

调试运行后,显示主界面

1) 新建一个家族关系

25


数据结构课程设计(家族关系查询系统)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:五年级数学教案《求三个数的最小公倍数》(1)

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

马上注册会员

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