資源簡介
采用C語言編寫的可以求解空間桁架內力及各結點位移的源程序代碼

代碼片段和文件信息
#include?“stdio.h“
#include?“math.h“
main()
{
?int?unit[6][4]?bind[3][4]?number[5]?ijknmrsvwkk;
?float?xixjyiyjEALEALzizjLxMxNx;
?float?point[4][3]material[1][2]P[1][4]unitarray[3][3]allarray[12][12]allar[12][12];
?FILE?*fp*wp;?
?if((fp=fopen(“gao.txt““r“))==NULL)
?{printf(“data?file?can‘t?be?openedplease?create?it“);
?exit(0);return;}
?if((wp=fopen(“out.txt““a“))==NULL)
?{printf(“data?file?can‘t?be?openedplease?create?it“);
?exit(0);return;}
?for(i=0;i<=4;i++)
?if(fscanf(fp“%d“&number[i])==EOF)
?{printf(“file?error“);fclose(fp);}
?fprintf(wp“%d?%d?%d?%d?%d\n“number[0]number[1]number[2]number[3]number[4]);
for(i=0;i<4;i++)
fscanf(fp“%d?%f?%f?%f?\n“&k&point[i][0]&point[i][1]&point[i][2]);
for(i=0;i<4;i++)
fprintf(wp“%8d?%8.2f?%8.2f?%8.2f?\n“i+1point[i][0]point[i][1]point[i][2]);
for(i=0;i<6;i++)
if(fscanf(fp“%d?%d?%d?%d\n“&unit[i][0]&unit[i][1]&unit[i][2]&unit[i][3])==EOF)
{printf(“file?error\n“);fclose(fp);}
for(i=0;i<6;i++)
fprintf(wp“%5d??%5d??%5d??%5d\n“unit[i][0]unit[i][1]unit[i][2]unit[i][3]);
for(i=0;i<1;i++)
if(fscanf(fp“%d?%f?%f\n“&k&material[i][0]&material[i][1])==EOF)
{printf(“file?error\n“);fclose(fp);}
for(i=0;i<1;i++)
fprintf(wp“%5d??%15.2f??%15.8f\n“i+1material[i][0]material[i][1]);
for(i=0;i<1;i++)
fscanf(fp“%d?%f?%f?%f?%f?\n“&k&P[i][0]&P[i][1]&P[i][2]&P[i][3]);
for(i=0;i<1;i++)
fprintf(wp“%5d?%f?%f?%f?%f?\n“i+1P[i][0]P[i][1]P[i][2]P[i][3]);
?for(i=0;i<3;i++)
if(fscanf(fp“%d?%d?%d?%d?%d\n“&k&bind[i][0]&bind[i][1]&bind[i][2]&bind[i][3])==EOF)
{printf(“file?error\n“);fclose(fp);}
for(i=0;i<3;i++)
fprintf(wp“%5d?%5d?%5d?%5d?%5d\n“i+1bind[i][0]bind[i][1]bind[i][2]bind[i][3]);
for(v=0;v<3*number[0];v++)
??for(w=0;w<3*number[0];w++)
?????allarray[v][w]=0.0;
kk=0;
for(kk=0;kk {
i=unit[kk][1];j=unit[kk][2];
xi=point[i-1][0];yi=point[i-1][1];zi=point[i-1][2];
xj=point[j-1][0];yj=point[j-1][1];zj=point[j-1][2];
L=sqrt((xj-xi)*(xj-xi)+(yj-yi)*(yj-yi)+(zj-zi)*(zj-zi));
E=material[unit[kk][3]-1][0];
A=material[unit[kk][3]-1][1];
EAL=E*A/L?;
Lx=(xj-xi)/L;Mx=(yj-yi)/L;Nx=(zj-zi)/L;
printf(“the?unit=%d\n“unit[kk][0]);
printf(“i=%d?j=%d?\n“ij);
printf(“xi=%f?yi=%f?zi=%f\n?xj=%f?yj=%f?zj=%f\n“xiyizixjyjzj);
printf(“E=%f?A=%f?L=%f?EAL=%f\n“EALEAL);
printf(“Lx=%f?Mx=%f?Nx=%f\n?“LxMxNx);
fprintf(wp“unitarray=%d\n“unit[kk][0]);
fprintf(wp“i=%d?j=%d?\n“ij);
fprintf(wp“xi=%f?yi=%f?zi=%f?\n?xj=%f?yj=%f?zj=%f\n“xiyizixjyjzj);
fprintf(wp“E=%f?A=%f?L=%f?EAL=%f\n\n“EALEAL);
??unitarray[0][0]=EAL*Lx*Lx;
??unitarray[0][1]=EAL*Lx*Mx;
??unitarray[0][2]=EAL*Lx*Nx;
??unitarray[1][0]=EAL*Lx*Mx;
??unitarray[1][1]=EAL*Mx*Mx;
??unitarray[1][2]=EAL*Mx*Nx;
??unitarray[2][0]=EAL*Lx*Nx;
??unitarray[2][1]=EAL*Mx*Nx;
??unitarray[2][2]=EAL*Nx*Nx;
?for(v=0;v<3;v++)
?{for(w=0;w<3;w++)
???fprintf(wp“%9.2g“unitarray[v][w]);
??fo
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????368??2007-12-25?17:53??空間桁架計算程序\自編桁架\gaojiawei?data.txt
?????文件??????43680??2007-12-25?17:54??空間桁架計算程序\自編桁架\gaojiawei?out.TXT
?????文件????????161??2007-12-19?18:53??空間桁架計算程序\自編程序\gao.txt
?????文件???????7096??2007-12-19?18:52??空間桁架計算程序\自編程序\OUT.TXT
?????文件???????6840??2007-12-25?18:21??空間桁架計算程序\自編程序\程序.c
?????目錄??????????0??2009-04-25?18:43??空間桁架計算程序\自編桁架
?????目錄??????????0??2009-04-25?18:43??空間桁架計算程序\自編程序
?????目錄??????????0??2009-04-25?18:43??空間桁架計算程序
-----------?---------??----------?-----??----
????????????????58145????????????????????8
評論
共有 條評論