當前位置:首頁 » 編程語言 » 家譜管理系統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的資料庫……

㈩ 家譜管理系統設計與實現。編制一個家譜資料管理軟體,實現對一個家族所有的資料進行收集整理。

這玩意都到網路來,來錯地方了,去專門代編程序設計網站吧,花點錢,會讓你很滿意的,不捨得花錢的話,就去網路貼吧吧,那裡人多