以下のプログラムを作成したんですが、初めて見るエラー?が出ました。これは何が原因なのでしょうか?
使っているのはC++で、始めて3カ月くらいです。
// kabe.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdafx.h"
#include "math.h"
int _tmain(int argc, _TCHAR* argv[/url])
{
FILE * fp;
FILE *file;
fp = fopen("data.txt","r");
file = fopen("result.txt","w");
double thi,tho; /*屋内,屋外温度*/
printf("屋内,屋外温度\n");
fscanf(fp,"%lf,%lf",&thi,&tho);
printf("thi = %f,tho = %f\n",thi,tho);
printf("\n");
double phi,pho; /*屋内,屋外相対湿度*/
printf("屋内,屋外相対湿度\n");
fscanf(fp,"%lf,%lf",&phi,&pho);
printf("phi = %f,pho = %f\n",phi,pho);
printf("\n");
double ai,ao; /*屋内,屋外熱伝達率*/
printf("屋内,屋外熱伝達率\n");
fscanf(fp,"%lf,%lf",&ai,&ao);
printf("ai = %f,ao = %f\n",ai,ao);
printf("\n");
double ai2,ao2; /*屋内,屋外湿気伝達率*/
printf("屋内,屋外湿気伝達率\n");
fscanf(fp,"%lf,%lf",&ai2,&ao2);
printf("ai2 = %f,ao2 = %f\n",ai2,ao2);
printf("\n");
int n; /*壁の層数*/
printf("壁の層数\n");
fscanf(fp,"%d",&n);
printf("n = %d\n",n);
printf("\n");
int t;
double x[256],y[256],L[256]; /*熱伝導率,湿気伝導率,壁の厚さ*/
printf("熱伝導率,湿気伝導率,壁の厚さ\n");
for(t = 1;t <= n;t++) {
fscanf(fp,"%lf,%lf,%lf",&x[t],&y[t],&L[t]);
printf("x[%d] = %f,y[%d] = %f,L[%d] = %f\n",t,x[t],t,y[t],t,L[t]);
}
printf("\n");
double LL[256]; /*屋内壁表面からの距離*/
printf("屋内壁表面からの距離\n");
for(t = 1;t <= n+1;t++) {
if(t == 1) {
LL[t] = 0;
printf("LL[%d] = %fm\n",t,LL[t]);
} else {
LL[t] = LL[t-1] + L[t-1];
printf("LL[%d] = %fm\n",t,LL[t]);
}
}
printf("\n");
double q,K,R = 0,c[256],th[256]; /*屋内,壁表面,壁内,屋外の温度*/
fprintf(file,"屋内,壁表面,壁内,屋外の温度\n");
for(t = 1;t <= n;t++) {
c[t] =L[t]/x[t];
R = R + c[t];
}
K = 1/ai + R + 1/ao;
q = 1/K * (thi - tho);
fprintf(file,"thi = %f℃\n",thi);
for(t = 1;t <= n+1;t++) {
if (t == 1) {
th[t] = thi - q/ai;
} else {
th[t] = th[t-1] - q*c[t-1];
}
fprintf(file,"%fm:%f℃\n",LL[t],th[t]);
}
fprintf(file,"tho = %f℃\n",tho);
printf("\n");
double fs[256],fsi,fso; /*屋内,壁表面,壁内,屋外の飽和水蒸気圧*/
fprintf(file,"屋内,壁表面,壁内,屋外の飽和水蒸気圧\n");
fsi = 0.1333 * exp(18.6686 - 4030.183/(235 + thi));
fsi = fsi * 1000;
fso = 0.1333 * exp(18.6686 - 4030.183/(235 + tho));
fso = fso * 1000;
fprintf(file,"fsi = %f\n",fsi);
for(t = 1;t <= n+1;t++) {
fs[t] = 0.1333 * exp(18.6686 - 4030.183/(235 + th[t]));
fs[t] = fs[t] * 1000;
fprintf(file,"%fm:%f\n",LL[t],fs[t]);
}
fprintf(file,"fso = %f\n",fso);
printf("\n");
double lmdd[256],alfdi,cd[256],fi,fo,f[256],W,Kd,rd[256],Rd = 0; /*屋内,壁表面,壁内,屋外水蒸気圧*/
fprintf(file,"屋内,壁表面,壁内,屋外の水蒸気圧\n");
fi = phi/100 * fsi;
fo = pho/100 * fso;
fprintf(file,"fi = %f\n",fi);
for(t = 1;t <= n;t++) {
rd[t] = L[t]/lmdd[t];
Rd = Rd + rd[t];
}
Kd = 1/ai2 + Rd + 1/ao2;
W = 1/Kd * (fi - fo);
for(t = 1;t <= n+1;t++) {
if (t == 1) {
f[t] = fi - W/alfdi;
} else {
f[t] = f[t-1] - W*cd[t-1];
}
fprintf(file,"%fm:%f\n",LL[t],f[t]);
}
fprintf(file,"fo = %f\n",fo);
printf("\n");
fclose(file);
fclose(fp);
fflush(stdin);
getchar();
return 0;
}
またここで使われているdata.txtの内容は以下のような感じです。
25,5 60,80 10,25 0.125,0.5 4 0.15,0.000018,5 1.10,0.00005,180 0.05,0,0011,150 1.30,0.000025,5
