程序代码:
#include<Stdio.h>
#include <string.h>
#define LEN strlen(" LX1 LY1 LZ1 JX1 JY1 JZ1")
#define FORMATOUT "%s %-5.1f %-5.1f %-5.1f %-5.1f %-5.1f %-5.1f"
#define FORMATIN "%s %f %f %f %f %f %f"
struct Matix
{
char nei[10];
char dec[3];
float msg[3][6];
};
struct MSG
{
char NO[10];
Matix m[2];
float res[6];
};
void main()
{
MSG msg[4] = {0};
FILE *fp = fopen("2.dat","r");
int i,j,k;
for(i = 0;i<4;i++)
{
fscanf(fp,"%s",msg[i].NO);
printf("\n%s\n",msg[i].NO);
for(j = 0;j<2;j++)
{
fscanf(fp,"%s",msg[i].m[j].nei);
char buffer[50] = {0};
fseek(fp,LEN+8,SEEK_CUR);
for(k = 0;k<3;k++)
{
fscanf(fp,FORMATIN,msg[i].m[j].dec,&msg[i].m[j].msg[k][0],
&msg[i].m[j].msg[k][1],&msg[i].m[j].msg[k][2],
&msg[i].m[j].msg[k][3],&msg[i].m[j].msg[k][4],
&msg[i].m[j].msg[k][5]);
printf(FORMATOUT,msg[i].m[j].dec,msg[i].m[j].msg[k][0],
msg[i].m[j].msg[k][1],msg[i].m[j].msg[k][2],
msg[i].m[j].msg[k][3],msg[i].m[j].msg[k][4],
msg[i].m[j].msg[k][5]);
printf("\n");
}
printf("\n");
}
int x,y,z;
printf("Res: ");
for(x = 0;x<6;x++)
{
msg[i].res[x] = (msg[i].m[0].msg[0][x] + msg[i].m[1].msg[0][x]) * 1.5;
printf("%-5.1f ",msg[i].res[x]);
}
}
fclose(fp);
fp = fopen("temp.txt","w");
for(i = 0;i<4;i++)
{
fprintf(fp,"\n%s\n",msg[i].NO);
for(j = 0;j<2;j++)
{
for(k = 0;k<3;k++)
{
fprintf(fp,FORMATOUT,msg[i].m[j].dec,msg[i].m[j].msg[k][0],
msg[i].m[j].msg[k][1],msg[i].m[j].msg[k][2],
msg[i].m[j].msg[k][3],msg[i].m[j].msg[k][4],
msg[i].m[j].msg[k][5]);
fprintf(fp,"\n");
}
fprintf(fp,"\n");
}
int x,y,z;
fprintf(fp,"Res: ");
for(x = 0;x<6;x++)
{
msg[i].res[x] = (msg[i].m[0].msg[0][x] + msg[i].m[1].msg[0][x]) * 1.5;
fprintf(fp,"%-5.1f ",msg[i].res[x]);
}
}
fclose(fp);
}