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;
}