家谱管理系统(含源代码)

家谱管理系统——C语言(数据结构)目的和要求:树形结构是一种非常重要的非线性结构,它用于描述数据元素之间的层次关系,人类家谱是树形结构的典型体现,通过此项训练让学生掌握树形结构的知识;使学生重点掌握树与二叉树的转换,二叉树的存储和遍历,和二叉树相关的一些运算;要求完成家谱信息的录入和保存,任意成员的查找及某一成员祖先、子孙、兄弟、堂兄弟的查找。排答疑和辅导。完整代码:#include #include #include int MATEFLAG=0; //是否入赘或嫁入这家的,1表示为是,0表示否typedef struct TreeNode//树节点定义{int Num; //保存此人儿女个数char Name[20]; //保存此人姓名char Kind; //保存此人性别,男M,女Fstruct TreeNode * NextNode[20]; //保存此人的儿女,NextNode[0]里存放配偶的地址struct TreeNode * Parent; //保存此节点的父节点}TreeNode;void CreatTree(TreeNode *Tree);//创建树void OutPutAll(TreeNode *Tree);//输出树TreeNode * SearchTree(TreeNode *Tree,char name[],int length);void MainMenu(TreeNode *Tree);void SubMenue1(TreeNode * Tree);void SubMenue2(TreeNode *Tree);void Change(TreeNode * Tree);void AddNew(TreeNode * Tree);void OutPutMessage(TreeNode * Tree,char name[],int length);//主函数void main(){TreeNode *Tree;//产生根节点Tree=(TreeNode *)malloc(sizeof(TreeNode));Tree->Parent =NULL;strcpy(Tree->Name,"0");MainMenu(Tree);//显示主菜单}//添加新的成员void AddNew(TreeNode * Tree){SubMenue2(Tree);//添加新成员界面}//显示添加家庭信息的界面void SubMenue2(TreeNode *Tree){char c;int num;char name[20];TreeNode * NewNode;getchar();while(1){system("cls");printf("请选择你的操作\n");printf("A:添加某个人的子女的信息\n");printf("B:添加某个人配偶的信息\n");printf("C:退出\n");printf("请选择相应功能:\n");c=getchar();switch(c){case 'A': //添加子女信息printf("请输入那个人的名字:\n");scanf("%s",name);Tree=SearchTree(Tree,name,20);//在家谱里查找这个人if(Tree==NULL){printf("该家谱图中没有%s这个人的信息请确认是否输入错误\n",name);break;}if(Tree->Parent==NULL&&Tree->NextNode[0]==NULL||Tree->Parent!=NULL&&Tree->Name!=Tree->Parent->NextNode[0]->Name){printf("至今还没有配偶请先添加配偶\n",Tree->Name);break;}if(Tree->Parent==NULL&&(Tree->Num>20||Tree->Num<0))Tree->Num=0;if(MATEFLAG==1)Tree=Tree->Parent;NewNode=(TreeNode *)malloc(sizeof(TreeNode));printf("请输入添加人员姓名:\n");scanf("%s",NewNode->Name);printf("请输入添加人员性别女F男M:\n");scanf("%1s",&NewNode->Kind);num=Tree->Num;NewNo

家族查询系统c语言源程序,家谱管理系统(含源代码).docx相关推荐

  1. 家谱管理系统php,家谱管理系统(含源代码).docx

    #include int MATEFLAG=0; //是否入赘或嫁入这家的,1表示为是,0表示否 typedef struct TreeNode//树节点定义 { int Num; //保存此人儿女个 ...

  2. 航班编程代码c语言,航班查询系统C语言源程序

    <航班查询系统C语言源程序>由会员分享,可在线阅读,更多相关<航班查询系统C语言源程序(8页珍藏版)>请在人人文库网上搜索. 1.include #include #inclu ...

  3. c语言航班信息查询系统 程序,航班查询系统C语言源程序.doc

    航班查询系统C语言源程序 #include #include #include #define NOD struct plane_list struct plane {char number [10] ...

  4. 家谱宗族网站源码_家谱管理系统(含源代码)

    家谱管理系统 -- C 语言(数据结构) 目的和要求:树形结构是一种非常重要的非线性结构,它用于描述数据元素之间 的层次关系,人类家谱是树形结构的典型体现,通过此项训练让学生掌握树形结 构的知识:使学 ...

  5. C语言系统程序总体框图,c语言学生成绩管理系统(含源代码)精要.doc

    C 语言程序设计作业 一 设计项目:学生成绩管理系统 二 总体设计: 1 程序设计组成框图: 2:模块功能说明: 1 输入功能:输入学生姓名学号及成绩. 2 查看功能:输出姓名学号及各科成绩. 3 查 ...

  6. C语言学生成绩分析代码,c语言学生成绩管理系统(含源代码)分析.doc

    C 语言程序设计作业 一 设计项目:学生成绩管理系统 二 总体设计: 1 程序设计组成框图: 2:模块功能说明: 1 输入功能:输入学生姓名学号及成绩. 2 查看功能:输出姓名学号及各科成绩. 3 查 ...

  7. C语言家谱管理程序,C语言二叉树家谱管理系统.doc

    C语言二叉树家谱管理系统 摘 要 本文设计了一个对数据输入,输出,储存,查找的多功能软件,本文需要保存家族的基本信息,包括姓名及它们的关系,但是由于家族信息很巨大而且关系很复杂所以采用二叉树来表示它们 ...

  8. C语言的成绩查询系统,C语言成绩查询系统.doc

    C语言成绩查询系统 C语言大作业 姓名:班级:学号:指 导 教 师: 一.目的7 二.题目描述和要求7 三.报告内容8 3.1需求分析8 3.2 概要设计8 3.3 详细设计8 3.4 主要源程序代码 ...

  9. 成绩查询系统c语言,学生成绩查询系统C语言代码(分服务器端和客户端).doc

    学生成绩查询系统C语言代码(分服务器端和客户端) 客户端:#include#include#include #pragma comment(lib , "Wsock32.lib " ...

最新文章

  1. JQuery插件,轻量级表单模型验证(续 二)
  2. yudian温控表a1温度怎么补偿_冰箱冷藏温度多少合适 冰箱冷藏温度怎么调节 看完这篇你就有答案 冰箱...
  3. c++ gdi修改dpi_最新高血压标准修改,包括确诊标准和用药方案!你的药吃对了吗?...
  4. FM之DATE_CHECK_PLAUSIBILITY
  5. pagehelper 不分页几种情况的解决方法
  6. 什么是RPC?RPC框架dubbo的核心流程
  7. boost::mpl模块实现lambda相关的测试程序
  8. C#中多线程和定时器是不是有冲突?
  9. lambdas for_Lambdas:来到您附近的Java 8!
  10. C#进阶之WebAPI(一)
  11. Windows Server Version 1709 管理之入门篇 1
  12. ArcGIS10.6使用ArcGIS Diagrammer
  13. android p获取通话记录_Android 底层的进程间同步机制
  14. 小白学习Python的一点建议
  15. 世界 图书 学科 分类
  16. 数据结构 --- c语言实现双向循环链表
  17. 如何利用Python进行数据分析
  18. 企业邮箱地址格式是什么?企业邮箱地址类型汇总
  19. windows api 控制屏幕亮度
  20. Ahmedabad公司的LiFi技术为Nadabet提供互联网接入能力

热门文章

  1. SpringMVC核心知识的梳理(现在都用SpringBoot了,但是SpringMVC还的学的扎实点,饮水思源)
  2. 全国程序员薪酬大曝光!看完我酸了,33% 程序员月薪达到.....
  3. 轨道看盘系统 通达信选股公式 看盘指标详解主图/副图
  4. Python基础,类的继承,类的多态继承等
  5. DataScience:数据生成之在原始数据上添加小量噪声进而实现构造新数据
  6. 请编写函数判断一个数是不是素数
  7. Gulp——JS模块化说明视频-张晓飞-专题视频课程
  8. VB让图片铺满整个FORM
  9. Unity脚本(二)
  10. 【四】Spring源码分析之启动主流程---AbstractApplicationContext的refresh方法