📄 indata.cpp
字号:
#include<stdio.h>
#include"datastruct.h"
void indata(FILE *fp,struct Busdata *bus,struct Branchdata *Branch,struct Gendata *gendata,
int Busnum,int Branchnum,int Gennum,int *balanceno)
{
int i;
for(i=0;i<Busnum;i++)
{
fscanf(fp,"%d",&bus[i].busflag);
fscanf(fp,"%d",&bus[i].busno);
fscanf(fp,"%lf",&bus[i].PG);
fscanf(fp,"%lf",&bus[i].PL);
fscanf(fp,"%lf",&bus[i].V);
fscanf(fp,"%lf",&bus[i].angle);
if(bus[i].busflag==-1)//找出平衡节点
*balanceno=i;
bus[i].maxPG=0;
}
for(i=0;i<Branchnum;i++)
{
fscanf(fp,"%d",&Branch[i].branchno);
fscanf(fp,"%d%d",&Branch[i].from,&Branch[i].to);
fscanf(fp,"%lf%lf",&Branch[i].X,&Branch[i].capacity);
fscanf(fp,"%lf%lf",&Branch[i].malfunctionrate,&Branch[i].repairtime);
fscanf(fp,"%lf",&Branch[i].branchP);
fscanf(fp,"%d",&Branch[i].alrnum);
}
for(i=0;i<Gennum;i++)
{
fscanf(fp,"%d",&gendata[i].Genno);
fscanf(fp,"%d",&gendata[i].linkno);
fscanf(fp,"%lf",&gendata[i].maxP);
fscanf(fp,"%lf",&gendata[i].malfunctionrate);
fscanf(fp,"%lf",&gendata[i].repairtime);
}
fclose(fp);
for(i=0;i<Busnum;i++)
for(int j=0;j<Gennum;j++)
if(gendata[j].linkno==bus[i].busno)
bus[i].maxPG+=gendata[j].maxP;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -