以下のプログラムを作成したんですが、初めて見るエラー?が出ました。これは何が原因なのでしょうか?
使っているのは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