Now here's something new. I have created a student grading program that should allow me to enter gades ansd also sort according to date, oldest first. The error code i recieve is:
line 43 & 44: Expression syntax in function main
The code is :
Code:
* Question 3. It describes a restaurant 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];
char dob[10];
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");
scanf("%s", students[i].id);
printf("Enter Student name: \n");
scanf("%S", students[i].name);
printf("Enter Date of Birth (dd/mm/yyyy): \n");
scanf("%s", students[i].dob);
printf("Enter marks obtained for test1: \n");
scanf("%d", students[i].mark1);
printf("Enter marks obtained for test2: \n");
scanf("%d", students[i].mark2);
printf("Enter marks obtained for test3: \n");
scanf("%d", students[i].mark3);
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();
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);
}
}
What should i do here by right? And what about sorting by date, how would i do that?