I have created a student grading program that should allow me to enter gades ansd also sort according to date, oldest first. The code supplied is a different version compared to the earlier one.
Right now the question is how do i sort according to date, oldest first?Code:/* Question 3. It describes a student using structures and arrays to store and print data */ #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #define N_student 4 int i,n; struct student { char id[5]; char name[50]; double Bday,Bmonth,Byear; double mark1, mark2, mark3; double av_marks; char grade; } students [N_student]; void assigngrade(); void printavg(); main() { char buffer[50]; double total; for (i=0; i<N_student; i++) { printf("Enter Student ID no: \n"); gets(students[n].id); printf("Enter Student name: \n"); gets (students[n].name); printf("Enter Date Of Birth (dd):"); gets (buffer); students[n].Bday = atof (buffer); printf("Enter Month Of Birth (mm):"); gets (buffer); students[n].Bmonth = atof (buffer); printf("Enter Year Of Birth (yyyy):"); gets (buffer); students[n].Byear = atof (buffer); printf("Enter marks obtained for test1(0-4): \n"); gets (buffer); students[n].mark1 = atof (buffer); printf("Enter marks obtained for test2(0-4): \n"); gets (buffer); students[n].mark2 = atof (buffer); printf("Enter marks obtained for test3(0-4): \n"); gets (buffer); students[n].mark3 = atof (buffer); total = (double)students[n].mark3 + (double)students[n].mark2 + (double)students[n].mark1; students[n].av_marks = (double)total/3; assigngrade(); } printf("You've entered the students details. \n"); printavg(); system("PAUSE"); return 0; } void assigngrade() { if ((students[n].av_marks<=4) && (students[i].av_marks>3)) { students[i].grade='A'; } else if ((students[i].av_marks<=3) && (students[i].av_marks>2)) { students[i].grade='B'; } else if ((students[i].av_marks<=2) && (students[i].av_marks>1)) { students[i].grade='C'; } else if ((students[i].av_marks<=1) && (students[i].av_marks>=0)) { students[i].grade='D'; } } void printavg() /* prints the average grade for a student */ { for (i=0; i<N_student; i++) { printf ("Student Id="); printf ("%s\n",students[i].id); printf ("Student Name="); printf ("%s\n",students[i].name); printf ("Student Average marks="); printf ("%.2f\n",students[i].av_marks); printf ("Student Grade="); printf ("%c\n",students[i].grade); } }![]()



LinkBack URL
About LinkBacks



