problem with buble sort
Code:
printf("\n STUDENT ID No. OF SUBJECTS STATUS FEES DUE\n"); printf("\n-----------------------------------------------\n");
printf(" %d %d %c $%6.2f \n", students[i].Student_ID, students[i].nose, students[i].status, students[i].Total_fees);
out_file = fopen("STUDENT.DAT", "a");
if(out_file ==(FILE *) NULL)
{
printf("\nFailed to open file\n");
}
else
{
printf("\nSuccessfully write to the file STUDENT.\n");
}
printf("\nDo you want continue? ");
scanf("%c", &Answer);
fflush(stdin);
}
while (Answer =='y' || Answer =='Y');
fprintf(out_file,"%d %d %c %6.2f\n", students[i].Student_ID, students[i].nose, students[i].status, students[i].Total_fees);
fclose(out_file);
in_file = fopen("STUDENT.dat", "r");
if (in_file != NULL)
{
printf("\nSuccessfully open the file for reading.\n");
}
else
{
printf("\nFailed to open the data file.\n");
}
fscanf(in_file,"%d %d %c %f", &students[i].Student_ID, &students[i].nose, &students[i].status, &students[i].Total_fees);
rewind(in_file);
while (fscanf(in_file,"%d %d %c %f", &students[i].Student_ID, &students[i].nose, &students[i].status, &students[i].Total_fees) != EOF)
moves = 1;
students[i].Student_ID=0;
while (moves > 0)
{
moves = 0;
students[i].Student_ID= 0 ;
while (students[i].Student_ID < 100)
{
if(students[i].Student_ID > students[i+1].Student_ID)
{
temp = students[i+1].Student_ID;
students[i+1].Student_ID = students[i].Student_ID;
students[i].Student_ID = temp;
moves++;
}
}
}
for (i = 0; i< RECORDS; i++)
fprintf(out_file,"%d %d %c %6.2f\n", students[i].Student_ID, students[i].nose, students[i].status, students[i].Total_fees);
fclose(in_file);
getch();
}
[code][/code]tagged by Salem