当前位置:首页 » 编程语言 » 家谱管理系统c语言数据结构代码
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

家谱管理系统c语言数据结构代码

发布时间: 2023-04-11 07:34:43

㈠ 求数据结构(c语言版)建立二叉树的代码~~急~~谢谢了

BT.H文件
#include
<stdio.h>
#include
<malloc.h>
#include
<conio.h>
#define
TRUE
1
#define
FALSE
0
#define
ERROR
0
#define
OK
1
#define
Stack_Size
50
#define
NUM
50
#define
MAXSIZE
50
//队列的最大长度
//定义二叉树
typedef
char
DataType;
typedef
struct
Node
{
DataType
data;
struct
Node
*LChild;
struct
Node
*RChild;
}BiTNode,
*BiTree;
//定义stack
typedef
BiTree
StackElementType;
typedef
struct
{
StackElementType
elem[Stack_Size];
int
top;
}SeqStack;
//定义队列
typedef
BiTree
QueueElementType;
typedef
struct
{
QueueElementType
element[MAXSIZE];
int
front;
int
rear;
}SeqQueue;
//队列的抽象
void
InitQueue(SeqQueue
*Q)
{
Q->front=Q->rear=0;
}
int
EnterQueue(SeqQueue
*Q,
QueueElementType
x)
{
if((Q->rear+1)%MAXSIZE==Q->front)
return(FALSE);
Q->element[Q->rear]=x;
Q->rear=(Q->rear+1)%MAXSIZE;
return(TRUE);
}

㈡ 大佬们求救,跪谢

家谱(或称族谱)是一种以表谱形式,记载一个以血早差缘关系为主体的家族世
系繁衍和重要人物的特殊图书体裁。家谱是中国特有的文化遗产,是中华民族的三大文献(国史,地志,族谱)之一,属珍贵的人文资料仔睁大,对于历史学、民俗学、人口学、社会学和经济学的深入研究,均有其不可替代的独特功能。本项目对念竖家谱管理进行简单的模拟,以实现查看祖先和子孙个人信息、插入家族成员、删除家族成员等功能。
本项目的实质是完成对家谱成员信息的建立、查找、插入、修改、删除等功
能,可以首先定义家族成员的数据结构,然后将每个功能写成一个函数来完成数据的操作,最后完成主函数以验证各个函数功能并得出运行结果。
家谱从形状上看像一颗倒长的树,所以用树结构来表示家谱比较合适。

㈢ C语言家谱如何分层输出

C语言家谱分层输出代码如下:
*/
#include
#include
#include
#include
#include"map.h"
#defineMAXN100
#defineMAXMEM100
#defineElemtypechar
//
//树
typedefstructBiTNode
{undefined
intmark;//标记
intlevel;
charname[50];//姓名
charbirthday[50];//生日
charaddress[MAXN];//住址
boolmarriage;//婚否(true表示结婚,false表示没结婚)
boollive;//建在(true表示活着,false表示过世)
boolsex;//性别(true表示男,false表示女)
charlivemassage[50];//死亡日期(如果其已经死亡)
Elemtypedata;//
structBiTNode*lc,*rc;
}BiTNode,*BiTree;
//
//树的相关操作
charnametemp[50];//姓名
charbirthdaytemp[50];//生日
charaddresstemp[MAXN];//住址
boolmarriagetemp;//婚否(true表示结婚,false表示没结婚)
boollivetemp;//建在(true表示或者,false表示过世)
boolsextemp;
charlivemassagetemp[MAXN];//死亡日期(如果其已经死亡)
charch;//额外使用
intleveltemp;//人的代数
intNth;//显示第n代人时要用
charsearchdata[50];
charsearchname[50];
intcount;//计数
intchoice;//各种选择
intuse;
BiTreetemp;
structBiTNodeList
{undefined
BiTreedata;
BiTNodeList*next;
};
BiTNodeList*Li
st;
voidCreatBiTree(BiTree&T,FILE*in)//建立双链二叉树
{undefined
fscanf(in,"%c",&ch);
//printf("%c ",ch);
if(ch=='@')
层,意为①重叠起来的东西;重叠起来的东西中的一部分:层次|表层|大气层。②重叠;重复:层峦叠嶂|层出不穷。③量词,用于可以分出层次的事物:三层楼|两层意思|擦掉一层灰。
家谱:又称族谱、宗谱等。是一种以表谱形式,记载一个家族的世系繁衍及重要人物事迹的书。家谱是一种特殊的文献,就其内容而言,是中华文明史中具有平民特色的文献,记载的是同宗共祖血缘集团世系人物和事迹等方面情况的历史图籍。据研究表明,中华古姓来源于图腾崇拜,系氏族徽号或标志。

㈣ 家谱管理系统

看了半天都看不懂你说的些什么??你是不是要找个人给你编写你说的这个软件啊。你得说清楚啊!

㈤ C语言 家谱问题

#include<stdio.h>
#include<string.h>
charw[5][20]={{"child"},{"parent"},{"sibling"},{"descendant"},{"ancestor"}};
intkong(chara[]){
intn=0,i;
for(i=0;a[i]!='';i++){
if(a[i]=='')
n++;
else
break;
}
returnn;
}

charfam[200][20];
intnum[200]={0};

intsearch(chara[],intn){
inti=1;
while(1){
if(!strcmp(a,fam[i]))
returni;
i++;
}
return0;
}

intsearch1(intn,intx){
inti=1;
while(i<x){
if(num[i]==n)
returni;
i++;
}
return0;
}

charname[1000],word[1000],n1[100],n2[100],d[100];
intmain(){
intn,m,i,j,a,b,t,x,k,h;
while(scanf("%d%d",&n,&m)!=EOF){
memset(fam,'',sizeof(fam));
memset(num,'',sizeof(num));
scanf("%s",fam[1]);
getchar();
a=b=2;
t=1;
num[1]=1;
for(i=2;i<=n;i++){
memset(name,'',sizeof(name));
gets(name);
b=kong(name);
if(b>a){
if(fam[search1(t*2+1,i)][0]!='')
t=t*2+1;
else
t=t*2;
}
else{if(b<a){
h=(a-b)/2;
while(h>=1){
t=t/2;
h--;
}
}}
if(fam[search1(t*2,i)][0]!='')
x=t*2+1;
elsex=t*2;
num[i]=x;
for(j=b;name[j]!='';j++)
fam[i][j-b]=name[j];
a=b;
}
for(i=0;i<m;i++){
gets(word);
k=0;h=0;
memset(n1,'',sizeof(n1));
memset(n2,'',sizeof(n2));
memset(d,'',sizeof(d));
for(j=0;word[j]!='';j++){
if(word[j]==''){
k++;
h=0;
continue;
}
if(k==0)
n1[j]=word[j];
if(k==5){
n2[h]=word[j];
h++;
}
if(k==3){
d[h]=word[j];
h++;
}
}
if(!strcmp(d,w[0])){
a=search(n1,n);a=num[a];
b=search(n2,n);b=num[b];
if(a==b*2||a==(b*2+1))
printf("True ");
elseprintf("False ");
continue;
}
if(!strcmp(d,w[1])){
a=search(n1,n);a=num[a];
b=search(n2,n);b=num[b];
if(b==a*2||b==(a*2+1))
printf("True ");
elseprintf("False ");
continue;
}
if(!strcmp(d,w[2])){
a=search(n1,n);a=num[a];
b=search(n2,n);b=num[b];
if((a==b+1&&a==b/2*2+1)||(a==b-1&&b==a/2*2+1))
printf("True ");
elseprintf("False ");
continue;
}
if(!strcmp(d,w[3])){
a=search(n1,n);a=num[a];
b=search(n2,n);b=num[b];
while(a>0){
a=a/2;
if(a==b){
printf("True ");
break;
}
if(a==0)
printf("False ");
}
continue;
}
if(!strcmp(d,w[4])){
a=search(n1,n);a=num[a];
b=search(n2,n);b=num[b];
while(b>0){
b=b/2;
if(a==b){
printf("True ");
break;
}
if(b==0)
printf("False ");
}
continue;
}
}
}
return0;
}

听说回答的够长能够自动采纳

㈥ C语言创建家谱

这是一个二维数组的汪烂结构化函数,我把你那边的n的值改为50,表示最多能输入50个人的家谱信息
#include<stdio.h>
struct people
{
char name[10];
char fathername[10];
};
void main()
{
struct people family[50];
int i,row=0;
char c;
for(i=0;i<50;i++)
{
printf("请输入第%d个人的姓名:",i+1);
gets(family[i].name);
printf("请输入第%d个人父亲的姓名:",i+1);
gets(family[i].fathername);
printf("咐森是否继续(y/n):");
scanf(" %c",&c);
if(c=='n'||c=='N')
break;
}
row=i+1;
printf("儿子姓名\t父亲姓名\n");
for(i=0;i<row;i++)
{
printf("%s\t%s\n",family[i].name,family[i].fathername);
}
}
就这么简单,看看是不是这样的,上面的row是困简漏你实际输入用户数量的行数,每输完一组用户的信息,都会提示是否继续,选y继续循环,n退出循环row=i+1

㈦ 怎么用C语言结合数据结构的知识来实现数据库的功能,代码怎么设计和编写

用数据结构组织起来就是简单的数据库了,无非就是插入删除修改之类的功能

你说的那些数据库语句,可以用简单的字符串匹配来做
如: strcmp 匹配"Create table"这个字符串 对接下来字符进行提取,直到"(" 以后的关键字符也是用类似方法判断","等实现
提取了需要的关键字符之后就可以进行对应的传参,调用相应操作

㈧ c语言编写家谱

c语言编写家谱搞定了没 我粗线了

㈨ 用C语言编写数据库管理系统的代码 !!急求!!!

老兄,你在csdn、pudn上搜索下现成的吧。
你这个是大学的作业吧?日本有个开源的tokyo cabinet应该符合你的要求,而且远远超过,它本身就是NoSQL的数据库……

㈩ 家谱管理系统设计与实现。编制一个家谱资料管理软件,实现对一个家族所有的资料进行收集整理。

这玩意都到网络来,来错地方了,去专门代编程序设计网站吧,花点钱,会让你很满意的,不舍得花钱的话,就去网络贴吧吧,那里人多