code:
#include<stdio.h>
typedef struct
{
int roll;
char name[20];
double gp;
double phy,chem,math;
}sTudent;
void inputStudent(sTudent *sp)
{
printf("enter roll: ");
scanf("%d",&sp->roll);
printf("enter name:");
scanf(" %[^\n]",sp->name);
printf("enter grade point: \n");
scanf("%lf",&sp->gp);
printf("marks in physics: ");
scanf("%lf",&sp->phy);
printf("marks in chemistry: ");
scanf("%lf",&sp->chem);
printf("marks in maths: ");
scanf("%lf",&sp->math);
}
double getAverageMarks(sTudent s){
double sum=0.0;
sum=s.phy+s.chem+s.math;
return sum/3.0;
}
char getGrade(sTudent s){
char grade;
double avg=getAverageMarks(s);
if(avg>90)
grade='A';
else if(avg>=80 && avg<90)
grade='B';
else if(avg>=70 && avg<80)
grade='C';
else if(avg>=60 && avg<70)
grade='D';
else if(avg>=50 && avg<60)
grade='E';
else
grade='F';
return grade;
}
void printStudent(sTudent sp)
{
printf("Student Details\n");
printf("Roll: %-4d\n",sp.roll);
printf("Name: %-2s\n",sp.name);
printf("Physics: %-10.2lf\n",sp.phy);
printf("Chemistry: %-10.2lf\n",sp.chem);
printf("Math: %-10.2lf\n",sp.math);
printf("Grade: %-4c\n",getGrade(sp));
//printf("Roll: %4d, Name: %-20s %10.2lf\n",sp.roll,sp.name,sp.gp);
}
int main()
{
sTudent s;
inputStudent(&s);
printStudent(s);
return 0;
}