//毕设之常规调度程序---简化运行
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define z_ss 328.5 //死水位
#define z_qfh 346.30 //防洪限制水位-前汛期
#define z_hfh 346.80 //防洪限制水位-后汛期
#define z_zc 347 //正常蓄水位
#define Y 48 //流量资料年数
#define M 12 //一年月数
#define T 576 //入流流量数据个数
#define NUM1 24 //水位库容关系点数
#define NUM2 12 //下泄流量与水位关系点数
#define NUM3 3 //水头限制出力关系点数
//插值函数部分
float chazhi(float x,float y1[],float y2[],int n) //插值函数
{
int i;
for(i=0;i<n-1;i++)
{
if(x>=y1[i]&&x<=y1[i+1])
return (y2[i]+(y2[i+1]-y2[i])/(y1[i+1]-y1[i])*(x-y1[i]));
}
if(x<y1[0])
return y1[0];
if(x>y1[n-1])
return (y2[n-2]+(y2[n-1]-y2[n-2])/(y1[n-1]-y1[n-2])*(x-y1[n-2]));
}
int main(void)
{
float Q[T+1],vcz[NUM1],zsy_cz[NUM1],qcz[NUM2],zxy_cz[NUM2],z_mao[NUM3],n_yx[NUM3];
int i,j;
int n=1,m=1;
Q[0]=0;
//数据输入部分
FILE *fQ1i; //流量数据输入
if((fQ1i=fopen("流量.txt","r"))==NULL)
{
printf("can't open 流量.txt file\n");
exit(0);
}
for(i=0;i<Y;i++)
{
for(j=0;j<M;j++)
{
fscanf(fQ1i,"%f",&Q[n++]);
}
}
FILE *fQsw;
fQsw=fopen("水文年排列的流量.txt","w");//将原始流量数据按照水文年排列
for(i=5;i<T+1;i++)
{
fprintf(fQsw,"%6.2f\t",Q[i]);
if((i-4)%12==0)
fprintf(fQsw,"\n");
}
for(i=1;i<5;i++)
{
fprintf(fQsw,"%6.2f\t",Q[i]);
}
FILE *fQi;