Code:
#include <stdio.h>
#include<stdlib.h>
#define MAX 40
//int summaryResults(int [],int []);
void printArrayLF(int [],int [],int,FILE *);
int searchInt(int [],int ,int );
main()
{
int id[MAX];
int score[MAX];
int idNum,j1,j2,j3,totalScore,ctr,total,e,i,idnbr;
float Avg;
FILE *InFile,*inFile, *OutFile;
InFile=fopen("file1.txt","r");
inFile=fopen("file2.txt","r");
OutFile=fopen("outproj5.txt","w");
printf("Candidate Results\n");
printf(" Id J1 J2 J3 score\n");
fprintf(OutFile,"Candidate Results\n");
fprintf(OutFile," Id J1 J2 J3 score\n");
for (i=0;i<MAX;i++)
{
id[i]=0;
score[i]=0;
}
ctr=0;
total=0;
e=fscanf(InFile,"%d %d %d %d",&idNum,&j1,&j2,&j3);
while(e==4)
{
totalScore = j1+j2+j3;
id[ctr]=idNum;
score[ctr]=totalScore;
printf("%3d %6d %6d %6d %9d\n",idNum,j1,j2,j3,totalScore);
fprintf(OutFile,"%3d %6d %6d %6d %9d\n",idNum,j1,j2,j3,totalScore);
ctr=ctr+1;
total = totalScore + total;
e=fscanf(InFile,"%d %d %d %d",&idNum,&j1,&j2,&j3);
}
Avg=1.0*total/ctr;
printf(" %d Total Candidates\n",ctr);
fprintf(OutFile," %d Total Candidates\n",ctr);
printf(" Average Total Score is %.1f \n",Avg);
fprintf(OutFile," Average Total Score is %.1f\n",Avg);
printArrayLF(id,score,ctr,OutFile);
printf("Score Check\n");
fprintf(OutFile,"Score Check\n");
e=fscanf(inFile,"%d",id);
while (e==1)
{
int scoreCheck,idNum;
id[ctr]=idNum;
scoreCheck=searchInt(id,ctr,idnbr);
if (scoreCheck<0)
{
printf("not found\n");
fprintf(OutFile,"not found\n");
}
else
{
scoreCheck=searchInt(id,ctr,idnbr);
printf("%3d %10d\n",idNum,score);
fprintf(OutFile,"%3d %10d\n",idNum,score);
}
e=fscanf(inFile,"%d",id);
}
printf("End of Program\n");
fprintf(OutFile,"End of Program\n");
fclose(OutFile);
fclose(InFile);
system("pause");
}
void printArrayLF(int a[],int b[],int ctr,FILE *fl)
{
int k;
printf("\n Summarized Results\n");
fprintf(fl,"\n Summarized Results\n");
printf(" Id totalScore\n");
fprintf(fl," Id totalScore\n");
for(k=0;k<ctr;k++)
{
printf("%3d %10d\n",a[k],b[k]);
fprintf(fl,"%3d %10d\n",a[k],b[k]);
}
fprintf(fl,"\n");
printf("\n");
}
int searchInt(int a[],int ctr,int idnm)
{
int k;
int loc=-1;
for(k=0;(k<ctr)&&(loc==-1);k++)
if(a[k] == idnm)
loc = k;
return loc;
}