发布于:2003-09-30 01:40:30
来自:水利工程/水利软件
[复制转发]
2.1.7.2设计洪水电算程序
由手算结果可知,洪水最大流量出现后2小时左右水库水位要下降下来,该程序仅计算了第13小时到第23小时的洪水过程,如果不满足此推断,可修改程序中的M值(控制计算时段的变量)。程序输出结果没有单位,与手算各项单位保持一致。电算程序演算了从调洪演算起始时刻到水库水位上升到最高水位回落的这段时间,此后洪水流量均小于最高水位的溢流堰的下泄能力,故可以认定电算程序确定的最高水位即为设计、校核洪水位。
程序:
#include
#include
#include
#define M 11
void writeDat(void);
void lizheng(void);
float Q
,Z
,V
,Q1
,q
,q1
,VZ
;
float a,sw,kr,sl,sk,vz,ql;
int i,j,k;
void main(){
clrscr();
for(i=0;i
printf("请输入时间为%d小时的入库流量\n",i+13);
scanf("%f",&Q
);
}
for(j=1;j
Q1
=(Q
+Q
)/2;
}
Z<0>=377.6;
V<0>=5493.03;
q<0>=0.0;
for(k=0;k
printf("请试算第%d时段\n",k+1);
lizheng();
V
=sk;
VZ
=vz;
q1
=ql;
printf("请输入水库库容为:%7.1f时的 水库水位\n",sk);
scanf("%f",&Z
);
printf("请输入水库库容为:%7.1f时的 下泄流量\n",sk);
scanf("%f",&q
);
}
writeDat();
}
void writeDat(void){
FILE *fp;
fp=fopen("lizheng.dat","w");
fprintf(fp,"计算时段的水库下泄流量\n");
for(i=0;i
fprintf(fp,"%7.1f\n",q
);
}
fprintf(fp,"计算时段的水库入库平均流量\n");
for(i=0;i
fprintf(fp,"%7.1f\n",Q1);
}
fprintf(fp,"计算时段的水库平均下泄流量\n");
for(i=0;i
fprintf(fp,"%7.1f\n",q1);
}
fprintf(fp,"计算时段的水库存水量变化\n");
for(i=0;i
fprintf(fp,"%7.1f\n",VZ);
}
fprintf(fp,"计算时段的水库存水量\n");
for(i=0;i
fprintf(fp,"%7.1f\n",V);
}
fprintf(fp,"计算时段的水库水位\n");
for(i=0;i
fprintf(fp,"%7.2f\n",Z);
}
}
void lizheng(void){
while(1)
{
printf("请输入试算水位\n");
scanf("%f",&sw);
printf("请输入试算库容\n");
scanf("%f",&kr);
printf("请输入试算水位的下泄流量\n");
scanf("%f",&sl);
ql=(sl+q
)/2;
vz=(Q1
-ql)*0.36;
sk=V
+vz;
printf("\n试算库容为:%7.1f\n",sk);
if(abs(sk-kr)<3) break;
printf("\n\n请再试算!!!\n");
}
}
全部回复(63 )
只看楼主 我来说两句回复 举报
回复 举报