Code:
#include <stdio.h>
int results[40][5];
void bubblesort (int students, int test)
{int j, k, tmp1, tmp2;
for (k=0;k < students - 1; ++k)
for(j=students-1;j>k;--j)
if(results[j-1][test] < results[j][test]);
{tmp1 = results[j-1][test];
results[j-1][test]=results[j][test];
results[j][test]=tmp1;
tmp2 = results[j-1][0];
results[j-1][0]=results[j][0];
results[j][0]=tmp2;
}
}
int main (void)
{
int junkcontinue, x = 0, count = 0, choice = 3;
FILE *my_in, *my_out;
printf("\nWelcome. This program is specifically designed to read and assess");
printf("\nexam data retrieved from the 'datafile.txt' file in your U: drive.");
printf("\n\nIf you are confident such a file exists in your U: drive, type");
printf("\n'y' and press Enter.\n\n");
scanf("%d", &junkcontinue);
if ((my_in = fopen ("C:\\datafile.txt","rt")) == NULL)
{
printf("\nDatafile.txt is not found.\n");
system("pause");
return(1);
}
if ((my_out = fopen ("C://dataout.txt","wt")) == NULL)
{
printf("\nError: Dataout.txt is not found.\n");
system("pause");
return(1);
}
printf("\nFile found. Reading file...\n\n");
while (fscanf(my_in, "%d,%d,%d,%d,%d", &results[x][0], &results[x][1], &results[x][2], &results[x][3], &results[x][4])!= EOF)
{
printf("*");
x += 1;
count++;
}
int testnumber;
printf("\n\nFiles Imported to array.\n\n");
printf("Please type which test you would like to output (1,2,3,4) and press Enter:");
fflush(stdin);
scanf("%d", &testnumber);
printf("\nYou have selected test %d.", testnumber);
printf("\nOutputting results to dataout.txt...");
printf("\n\nThe count is %d.\n\n", count);
printf("\n\nThe testnumber is %d.\n\n", testnumber);
printf("\n\t%d\t%d\t%d\t%d\t%d", results[0][0], results[0][1], results[0][2], results[0][3], results[0][4]);
printf("\n\t%d\t%d\t%d\t%d\t%d", results[1][0], results[1][1], results[1][2], results[1][3], results[1][4]);
printf("\n\t%d\t%d\t%d\t%d\t%d", results[2][0], results[2][1], results[2][2], results[2][3], results[2][4]);
printf("\n\t%d\t%d\t%d\t%d\t%dn\n", results[3][0], results[3][1], results[3][2], results[3][3], results[3][4]);
bubblesort(count-1, testnumber);
printf("\n\t%d\t%d\t%d\t%d\t%d", results[0][0], results[0][1], results[0][2], results[0][3], results[0][4]);
printf("\n\t%d\t%d\t%d\t%d\t%d", results[1][0], results[1][1], results[1][2], results[1][3], results[1][4]);
printf("\n\t%d\t%d\t%d\t%d\t%d", results[2][0], results[2][1], results[2][2], results[2][3], results[2][4]);
printf("\n\t%d\t%d\t%d\t%d\t%dn\n", results[3][0], results[3][1], results[3][2], results[3][3], results[3][4]);
while (x < count)
{
fprintf(my_out, "%d,%d\n", results[x][0], results[x][3]);
x += 1;
}
printf("\n\nDataout.txt file has finished writing.");
fclose(my_in);
fclose(my_out);
system("pause");
return (0);
}