救灾帐篷信息管理系统C语言代码.docx
《救灾帐篷信息管理系统C语言代码.docx》由会员分享,可在线阅读,更多相关《救灾帐篷信息管理系统C语言代码.docx(32页珍藏版)》请在冰点文库上搜索。
救灾帐篷信息管理系统C语言代码
救灾帐篷信息管理系统C语言代码
#include
#include
#include
#include
#defineLEN1sizeof(structcountry_tent)
#defineLEN2sizeof(structprovince_tent)
#defineLEN3sizeof(structcompany_tent)
structcountry_tent
{
charprov_num[4];/*省编号*/
charprov_name[21];/*省名*/
intall_tent;/*国家分配帐篷总数*/
floatall_money;/*国家分配总金额*/
intout_tent;/*已调出帐篷数量*/
floatout_tent_money;/*已调出帐篷金额*/
chardate[12];/*统计日期*/
charstati_name[11];/*统计员*/
structcountry_tent*next;
};
structprovince_tent
{
charprov_name[21];/*省名*/
charcompany_num[13];/*企业编号*/
charcompany_name[31];/*企业名称*/
intall_prov_tent;/*省分配帐篷总数*/
intproduce_tent;/*已生产帐篷总数*/
floatproduce_tent_money;/*已生产帐篷金额*/
intout_tent;/*已调出帐篷数量*/
floatout_tent_money;/*已调出帐篷金额*/
chardate[12];/*统计日期*/
charstati_name[11];/*统计员*/
structprovince_tent*next;
};
structcompany_tent
{
charprov_name[21];/*省名*/
charcompany_name[31];/*企业名称*/
charcompany_num[13];/*企业编号*/
intout_tent_batch;/*调出帐篷批次*/
charout_tent_name[31];/*调出帐篷品种*/
intout_tent_num;/*调出帐篷数量*/
floatout_tent_money;/*调出帐篷金额*/
charout_date[12];/*调出日期*/
charstati_name[11];/*统计员*/
structcompany_tent*next;
};
typedefstructcountry_tentcountry;
typedefstructprovince_tentprovince;
typedefstructcompany_tentcompany;
intn1=0,n2=0,n3=0;/*全局变量*/
/*=================================================================================================*/
/*=================================================================================================*/
/*****************************以下为用文件保存数据的函数***************************************/
voidsave1(country*head)/*用文件保存结构体1的数据*/
{
country*p1=head;
FILE*fp;
if((fp=fopen("country.txt","w+"))=='\0')
{
printf("can'topenfile\n");
return;
}
while(p1->next!
=NULL)
{
fprintf(fp,"%s%s%d%f%d%f%s%s\n",p1->prov_num,p1->prov_name,&p1->all_tent,&p1->all_money,&p1->out_tent,&p1->out_tent_money,p1->date,p1->stati_name);
p1=p1->next;
}
fclose(fp);
}
voidsave2(province*head)/*用文件保存结构体2的数据*/
{
province*p1=head;
FILE*fp;
if((fp=fopen("province.txt","w+"))=='\0')
{
printf("can'topenfile\n");
return;
}
while(p1->next!
=NULL)
{
fprintf(fp,"%s%s%s%d%d%f%d%f%s%s",p1->prov_name,p1->company_num,p1->company_name,&p1->all_prov_tent,&p1->produce_tent,&p1->produce_tent_money,&p1->out_tent,&p1->out_tent_money,p1->date,p1->stati_name);
p1=p1->next;
}
fclose(fp);
}
voidsave3(company*head)/*用文件保存结构体3的数据*/
{
company*p1=head;
FILE*fp;
if((fp=fopen("company.txt","w+"))=='\0')
{
printf("can'topenfile\n");
return;
}
while(p1->next!
=NULL)
{
fprintf(fp,"%s%s%s%d%s%d%f%s%s",p1->prov_name,p1->company_name,p1->company_num,&p1->out_tent_batch,p1->out_tent_name,&p1->out_tent_num,&p1->out_tent_money,p1->out_date,p1->stati_name);
p1=p1->next;
}
fclose(fp);
}
/*********************************以下为信息录入函数************************************/
/**************各省信息录入*************/
country*creat1()
{
system("cls");
country*head;
country*p1,*p2;
n1=0;
p1=p2=(country*)malloc(LEN1);
printf("请输入省编号:
");
scanf("%s",p1->prov_num);
printf("请输入省名:
");
scanf("%s",p1->prov_name);
printf("请输入国家分配帐篷总数:
");
scanf("%d",&p1->all_tent);
printf("请输入国家分配总金额:
");
scanf("%f",&p1->all_money);
printf("请输入已调出帐篷数量:
");
scanf("%d",&p1->out_tent);
printf("请输入已调出帐篷金额:
");
scanf("%f",&p1->out_tent_money);
printf("请输入统计日期:
");
scanf("%s",p1->date);
printf("请输入统计员:
");
scanf("%s",p1->stati_name);
head=NULL;
while
(1)
{
system("cls");/*清屏*/
n1=n1+1;
if(n1==1)head=p1;
elsep2->next=p1;
p2=p1;
printf("在省编号栏输入'00'表示结束输入\n");
p1=(country*)malloc(LEN1);
printf("请输入省编号:
");
scanf("%s",p1->prov_num);
if(strcmp(p1->prov_num,"00")==0)
{
break;
}
printf("请输入省名:
");
scanf("%s",p1->prov_name);
printf("请输入国家分配帐篷总数:
");
scanf("%d",&p1->all_tent);
printf("请输入国家分配帐篷总金额:
");
scanf("%f",&p1->all_money);
printf("请输入已调出帐篷数量:
");
scanf("%d",&p1->out_tent);
printf("请输入已调出帐篷金额:
");
scanf("%f",&p1->out_tent_money);
printf("请输入统计日期:
");
scanf("%s",p1->date);
printf("请输入统计员:
");
scanf("%s",p1->stati_name);
}
p2->next=NULL;
return(head);/*返回头指针*/
}
/***************省属企业信息录入*******************/
province*creat2(void)
{
system("cls");/*清屏*/
province*head;
province*p1,*p2;
n2=0;
p1=p2=(province*)malloc(LEN2);
printf("请输入省名:
");
scanf("%s",p1->prov_name);
printf("请输入企业编号:
");
scanf("%s",p1->company_num);
printf("请输入企业名称:
");
scanf("%s",p1->company_name);
printf("请输入省分配帐篷总数:
");
scanf("%d",&p1->all_prov_tent);
printf("请输入已生产帐篷总数:
");
scanf("%d",&p1->produce_tent);
printf("请输入已生产帐篷金额:
");
scanf("%f",&p1->produce_tent_money);
printf("请输入已调出帐篷数量:
");
scanf("%d",&p1->out_tent);
printf("请输入已调出帐篷金额:
");
scanf("%f",&p1->out_tent_money);
printf("请输入统计日期:
");
scanf("%s",p1->date);
printf("请输入统计员:
");
scanf("%s",p1->stati_name);
head=NULL;
while
(1)
{
system("cls");/*清屏*/
n2=n2+1;
if(n2==1)head=p1;
elsep2->next=p1;
p2=p1;
printf("在企业编号栏输入'00',表示结束输入\n");
p1=(province*)malloc(LEN2);
printf("请输入企业编号:
");
scanf("%s",p1->company_num);
if(strcmp(p1->company_num,"00")==0)
{
break;
}
printf("请输入省名:
");
scanf("%s",p1->prov_name);
printf("请输入企业名称:
");
scanf("%s",p1->company_name);
printf("请输入省分配帐篷总数:
");
scanf("%d",&p1->all_prov_tent);
printf("请输入已生产帐篷总数:
");
scanf("%d",&p1->produce_tent);
printf("请输入已生产帐篷金额:
");
scanf("%f",&p1->produce_tent_money);
printf("请输入已调出帐篷数量:
");
scanf("%d",&p1->out_tent);
printf("请输入已调出帐篷金额:
");
scanf("%f",&p1->out_tent_money);
printf("请输入统计日期:
");
scanf("%s",p1->date);
printf("请输入统计员:
");
gets(p1->stati_name);
scanf("%s",p1->stati_name);
}
p2->next=NULL;/*尾指针为空*/
return(head);/*返回头指针*/
}
/**************企业信息录入**************/
company*creat3()
{
system("cls");/*清屏*/
company*head;
company*p1,*p2;
n3=0;
p1=p2=(company*)malloc(LEN3);
printf("请输入省名:
");
scanf("%s",p1->prov_name);
printf("请输入企业名称:
");
scanf("%s",p1->company_name);
printf("请输入企业编号:
");
scanf("%s",p1->company_num);
printf("请输入调出帐篷批次:
");
scanf("%d",&p1->out_tent_batch);
printf("请输入调出帐篷品种:
");
scanf("%s",p1->out_tent_name);
printf("请输入调出帐篷数量:
");
scanf("%d",&p1->out_tent_num);
printf("请输入调出帐篷金额:
");
scanf("%f",&p1->out_tent_money);
printf("请输入统计日期:
");
scanf("%s",p1->out_date);
printf("请输入统计员:
");
scanf("%s",p1->stati_name);
head=NULL;
while
(1)
{
system("cls");
n3=n3+1;
if(n3==1)head=p1;
elsep2->next=p1;
p2=p1;
printf("在企业编号栏输入'00',表示结束输入\n");
p1=(company*)malloc(LEN3);
printf("请输入企业编号:
");
scanf("%s",p1->company_num);
if(strcmp(p1->company_num,"00")==0)
{
break;
}
printf("请输入省名:
");
scanf("%s",p1->prov_name);
printf("请输入企业名称:
");
scanf("%s",p1->company_name);
printf("请输入调出帐篷批次:
");
scanf("%d",&p1->out_tent_batch);
printf("请输入调出帐篷品种:
");
scanf("%s",p1->out_tent_name);
printf("请输入调出帐篷数量:
");
scanf("%d",&p1->out_tent_num);
printf("请输入调出帐篷金额:
");
scanf("%f",&p1->out_tent_money);
printf("请输入统计日期:
");
scanf("%s",p1->out_date);
printf("请输入统计员:
");
scanf("%s",p1->stati_name);
}
p2->next=NULL;/*尾指针为空*/
return(head);/*返回头指针*/
}
/*=================================================================================================*/
/*=================================================================================================*/
/*****************以下是信息修改函数*****************************/
/****************各个省份信息修改***************/
voidmodify1(country*head)
{
system("cls");/*清屏*/
if(n1==0)/*没有数据录入时,提示返回*/
{
printf("你还没有录入数据!
\n");
system("pause");
return;
}
charkey[4];
country*p1=head;
intk=-1;
printf("请输入要修改的省编号:
");
scanf("%s",key);
do
{
if(strcmp(p1->prov_num,key)==0)
{
k=1;
break;
}
elsep1=p1->next;
}while(p1->next!
=NULL);
if(k==-1)
{
printf("没有要修改的省份!
\n");
system("pause");
}
else
{
printf("请输入省编号:
");
scanf("%s",p1->prov_num);
printf("请输入省名:
");
scanf("%s",p1->prov_name);
printf("请输入国家分配帐篷总数:
");
scanf("%d",&p1->all_tent);
printf("请输入国家分配总金额:
");
scanf("%f",&p1->all_money);
printf("请输入已调出帐篷数量:
");
scanf("%d",&p1->out_tent);
printf("请输入已调出帐篷金额:
");
scanf("%f",&p1->out_tent_money);
printf("请输入统计日期:
");
scanf("%s",p1->date);
printf("请输入统计员:
");
scanf("%s",p1->stati_name);
}
}
/********************省属信息修改****************/
voidmodify2(province*head)
{
system("cls");
if(n2==0)/*没有数据录入时,提示返回*/
{
printf("你还没有录入数据!
\n");
system("pause");
return;
}
charkey[13];
province*p1=head;
intk=-1;
printf("请输入要修改的企业编号:
");
scanf("%s",key);
do
{
if(strcmp(p1->company_num,key)==0)
{
k=1;
break;
}
elsep1=p1->next;
}while(p1->next!
=NULL);
if(k==-1)
{
printf("没有要修改的企业!
\n");
system("pause");
}
else
{
printf("请输入省名:
");
scanf("%s",p1->prov_name);
printf("请输入企业编号:
");
scanf("%s",p1->company_num);
printf("请输入企业名称:
");
scanf("%s",p1->company_name);
printf("请输入省分配帐篷总数:
");
scanf("%d",&p1->all_prov_tent);
printf("请输入已生产帐篷总数:
");
scanf("%d",&p1->produce_tent);
printf("请输入已生产帐篷金额:
");
scanf("%f",&p1->produce_tent_money);
printf("请输入已调出帐篷数量:
");
scanf("%d",&p1->out_tent);
printf("请输入已调出帐篷金额:
");
scanf("%f",&p1->out_tent_money);
printf("请输入统计日期:
");
scanf("%s",p1->date);
printf("请输入统计员:
");
scanf("%s",p1->stati_name);
}
}
/************企业信息修改*********/
voidmodify3(company*head)
{
system("cls");
if(n3==0)/*没有数据录入时,提示返回*/
{
printf("你还没有录入数据!
\n");
system("pause");
return;
}
charkey[13];
company*p1=head;
intk=-1;/*指示有无有要查找的数据*/
printf("请输入要修改的企业编号:
");
scanf("%s",key);
do
{