www.pudn.com > cghost.rar > ALGHEAT.C


#include "stdio.h" 
#include "math.h" 
#include "conio.h" 
#define MAX 4800 
struct stress{ 
float node_x; 
float node_y; 
float node_z; 
}number[MAX]; 
float node_attrib; 
void save1(); 
void save2(); 
/*****************************************/ 
void main() 
{ 
struct stress *p_number; 
int t[100],nodenum,i,j,point,numnp,num,start,end,m,tt; 
float ver[50]; 
char ch,ch1,s1[80],s2[80],s3[80],cha1[80],cha2[80]; 
FILE *fp1,*fp2,*fp3,*fp4,*fp5; 
p_number=number; 
textbackground(12); 
textcolor(11); 
clrscr(); 
printf(" \t\t  Heat data analysis...\n"); 
printf("****Please enter ele_node_data filename:(*.)"); 
gets(s1); 
if((fp1=fopen(s1,"r"))==NULL){ 
	printf("\n\a****Cannot open the file or file not find!\n"); 
	exit(1); 
	} 
for(i=0;i<=18;i++) 
fscanf(fp1,"%c",&ch); 
fscanf(fp1,"%f%d",&ver[0],&nodenum); 
for(i=0;i<=13;i++) 
fscanf(fp1,"%d",&t[i]); 
fscanf(fp1,"%f",&ver[0]); 
for(i=0;i<=6;i++) 
fscanf(fp1,"%d",&t[i]); 
fscanf(fp1,"%f%f%f",&number[0].node_x,&number[0].node_y,&number[0].node_z); 
fscanf(fp1,"%d%f%d%d",&t[0],&ver[0],&t[1],&t[2]); 
for(j=1;jnodenum) 
{printf("****Node errors!");exit(1);} 
printf("****Input End node number:"); 
scanf("%d",&end); 
if(end<0||end>nodenum) 
{printf("\a****Node errors!");exit(1);} 
p_number=number+start-1; 
printf("\nNODE\t\b\bNODE_X\t   NODE_Y\tNODE_Z\t     NODE_TEMPERATURE\n"); 
       for(i=start-1;inode_x,p_number->node_y,p_number->node_z,node_attrib); 
	p_number++; 
	} 
rewind(fp5); 
fclose(fp5); 
	printf("****Save file or Not?(Y,N)"); 
	if(getch()==121||getch()==89) 
	{ 
	p_number=number+start-1; 
	save1(p_number,start,end); 
	} 
} 
else 
{ 
printf("****Please input node number:(0 for END...)\n"); 
for(i=0;inodenum){printf("\a****Node errors!");exit(1);} 
} 
p_number=number-1; 
printf("\nNODE\t\b\bNODE_X\t   NODE_Y\tNODE_Z\t     NODE_TEMPERATURE\n"); 
	for(i=0;i<=nodenum;i++) 
	{ 
	for(j=0;jnode_x,p_number->node_y,p_number->node_z,node_attrib);} 
	p_number++; 
	} 
rewind(fp5); 
fclose(fp5); 
printf("****Save file or Not?(Y,N)"); 
	if(getch()==121||getch()==89) 
	{ 
	p_number=number-1; 
	save2(p_number,nodenum,t,m); 
	} 
} 
 
} 
if(ch=='f'||ch=='F') 
{ 
printf("****Please enter save filename:(*.dat)"); 
scanf("%s",s3); 
if((fp3=fopen(s3,"w"))==NULL){ 
	printf("\a****Can not open the file!\n"); 
	exit(1); 
	} 
 
printf("****Saving datas..."); 
point=0; 
fprintf(fp3,"NODE      NODE_X       NODE_Y       NODE_Z       NODE_TEMPERATURE\n"); 
p_number=number; 
	for(i=1;i<=numnp;i++) 
	{ 
	point=point+1; 
	if(fmod(point,30)==0.0)printf("."); 
	fscanf(fp5,"%d%f",&t[11],&node_attrib); 
	fprintf(fp3,"%4d\t %12.6e %12.6e %12.6e %12.6e\n",i,p_number->node_x,p_number->node_y,p_number->node_z,node_attrib); 
	p_number++; 
	} 
} 
printf("\n****Program Over!****"); 
fclose(fp1); 
fclose(fp2); 
fclose(fp3); 
return; 
} 
/***********************************************/ 
void save1(struct stress *p_number,int start,int end) 
{ 
FILE *fp_save1,*fp1; 
int i,t,point=0; 
char s1[80]; 
printf("\n****Please input filename(*.dat)"); 
scanf("%s",s1); 
if((fp_save1=fopen(s1,"w"))==NULL) 
	{ 
	printf("\a****Can not open file!\n"); 
	exit(1); 
	} 
if((fp1=fopen("heat.asc","r"))==NULL) 
	{ 
	printf("\a****Can not open HEAT.ASC file  or not find it!\n"); 
	exit(1); 
	} 
p_number=number+start-1; 
printf("****Saving..."); 
	for(i=start-1;inode_x,p_number->node_y,p_number->node_z,node_attrib); 
	p_number++; 
	} 
fclose(fp_save1); 
fclose(fp1); 
return; 
} 
/************************************************/ 
void save2(struct stress *p_number,int nodenum,int t[],int m) 
{ 
FILE *fp_save2,*fp2; 
int i,j,tt,point=0; 
char ss1[80]; 
printf("\n****Please input filename(*.dat)"); 
scanf("%s",ss1); 
if((fp_save2=fopen(ss1,"w"))==NULL) 
	{ 
	printf("\a****Can not open file!\n"); 
	exit(1); 
	} 
if((fp2=fopen("heat.asc","r"))==NULL) 
	{ 
	printf("\a****Can not open HEAT.ASC file  or not find it!\n"); 
	exit(1); 
	} 
p_number=number-1; 
printf("****Saving..."); 
fprintf(fp_save2,"NODE\tNODE_X\t   NODE_Y\tNODE_Z\t     NODE_TEMPERATURE\n"); 
	for(i=0;i<=nodenum;i++) 
	{ 
	point++; 
	if(fmod(point,10)==0)printf("."); 
	for(j=0;jnode_x,p_number->node_y,p_number->node_z,node_attrib);} 
	p_number++; 
	} 
fclose(fp2); 
fclose(fp_save2); 
return; 
}