#include #define NCOURSE 6 #define MAXSTUD 100 int NSTUD; int WEIGHT[NCOURSE] = {4,5,3,4,3,1}; typedef struct { int roll; char grade[NCOURSE]; float cgpa; } stud; stud list[MAXSTUD]; int gradePoint ( char gr ) { if (gr == 'X') return 10; if (gr == 'A') return 9; if (gr == 'B') return 8; if (gr == 'C') return 7; if (gr == 'D') return 6; if (gr == 'P') return 5; if (gr == 'F') return 0; fprintf(stderr,"Invalid grade...\n"); return -1; } float calcGrade (stud s) { int num = 0, denom = 0, i; for (i=0; i=0; --i) for (j=0; j<=i; ++j) { if (temp[j].roll > temp[j+1].roll) { t = temp[j]; temp[j] = temp[j+1]; temp[j+1] = t; } } printf("\nList sorted by roll number:\n"); for (i=0; i=0; --i) for (j=0; j<=i; ++j) { if ( (temp[j].cgpa < temp[j+1].cgpa) || ((temp[j].cgpa == temp[j+1].cgpa) && (temp[j].roll > temp[j+1].roll)) ) { t = temp[j]; temp[j] = temp[j+1]; temp[j+1] = t; } } printf("\nList sorted by CGPA:\n"); for (i=0; i