资源简介

这个是我们大二时数据结构的假期大作业,C语言开发,tree结构 压缩包内容:源代码+程序设计说明书+可执行文件+配置文件 CSDN博客:http://blog.csdn.net/ye_shizhe

资源截图

代码片段和文件信息

#include “function.h“
Status CheckPrmtr(String OrderStringint num_prmtr){//检查参数个数是否足够
int check =0;
P_Char cur =OrderString.head;
while(cur->next){
if(cur->data ==‘ ‘) check++;
cur = cur->next;
}
if(check  printf(“缺少必要参数!\n“);
return ERROR;
}
else return OK;
}

int Imprted(P_member Root){//检查是否有家族树
if(!Root || !Root->name.length){
printf(“尚未导入家族树!\n“);
return 0;
}
else return 1;
}

int main(){
P_member Root =NULL;
P_String set = InitSet();//根据set.ini文件初始化命令查找表
String get_orderorder_type;
InitString(&get_order);
InitString(&order_type);
while(1){
ReInitString(&get_order);
ReInitString(&order_type);
P_Char cur = get_order.head;
printf(“CMD$:“);
ScanString(&get_order);
if(get_order.length == 0) continue;
SplitString(&order_type&cur‘ ‘);
switch(Explaint(setorder_type)){
case clr:{
system(“cls“);
break;
}
case quit:goto EXIT;
case statistic:{
if(!Imprted(Root)) break;
int i_info[4];
for(int i =0;i <4;i++) i_info[i] =0;
P_String S_prfssn =NULL;
Statistic(i_info&S_prfssn*Root);
float average =(float)i_info[3]/(float)i_info[2];//printf(“[3]:%d [2]:%d\n“i_info[3]i_info[2]);
printf(“男性:%d人 女性:%d人 已故成员平均享年:%.1f\n“
i_info[0]i_info[1]average);
printf(“职业分布情况:\n“);
P_String cur =S_prfssn;
while(cur){
PrintString(*cur);
P_Char c_cur = cur->head;
while(c_cur->data != ‘$‘) c_cur =c_cur->next;
c_cur = c_cur->next;
printf(“: %d人\n“(int)c_cur->data);
cur =cur->next;
}
cur =S_prfssn;
while(cur){
P_String pre =cur;
cur =cur->next;
DestroyString(pre);
}
break;
}//case statistic
case all:{
if(!Imprted(Root)) break;
PrintInfo(*Root0);
break;
}//case all
case tree:{
if(!Imprted(Root)) break;
Stack S;
InitStack(&S);
PrintTree(*RootOTHERS&S);
DestroyStack(&S);
break;
}//case tree
case info:{
if(!Imprted(Root)) break;
if(CheckPrmtr(get_order1) ==ERROR)break;
RsltList RL;
InitRsltList(&RLNAME);
Member KeyWord;
InitTreeNode(&KeyWord);
SplitString(&KeyWord.name&cur‘ ‘);
int counter =0;
if(Search(RootNAMEKeyWord&RL&counter) ==ERROR){
printf(“查找无果!\n“);
break;
}
P_member M =RL.head->data;
if(PrintString(M->name) ==ERROR) printf(“无“);
printf(“\n“);
if(M->sex == 1) printf(“男 “);
else printf(“女 “);
printf(“配偶:“);
if(PrintString(M->parter) ==ERROR) printf(“无“);
printf(“\n“);
printf(“%d.%d.%d“M->birthdate.year
 M->birthdate.month
 M->birthdate.day);
printf(“~“);
printf(“%d.%d.%d“M->datedeath.year
 M->datedeath.month
 M->datedeath.day);
printf(“\n“);
printf(“职业:“);
PrintString(M->profession);
printf(“\n“);
DestroyString(&KeyWord.name);
DestroyRsltList(&RL);
break;
}
case addkid:{
if(!Imprted(Root)) break;
if(CheckPr

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        657  2012-02-19 13:42  族谱管理系统\Input.txt

     文件        146  2012-03-04 15:10  族谱管理系统\Readme.txt

     文件        938  2012-02-19 12:59  族谱管理系统\set.ini

     文件        347  2012-02-19 13:49  族谱管理系统\t1

     文件     229473  2012-02-19 16:05  族谱管理系统\族谱管理系统.exe

     文件       1482  2012-01-31 14:36  族谱管理系统\源代码\Define2.h

     文件      20010  2012-02-19 18:58  族谱管理系统\源代码\function.h

     文件     232960  2012-03-04 16:31  族谱管理系统\源代码\数据结构大作业设计说明书.doc

     文件      10689  2012-02-19 15:59  族谱管理系统\源代码\族谱管理系统.cpp

     目录          0  2012-05-29 19:58  族谱管理系统\源代码

     目录          0  2012-03-04 16:26  族谱管理系统

----------- ---------  ---------- -----  ----

               496702                    11


评论

共有 条评论