Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <math.h>
- typedef struct
- {
- char name[21];
- float score;
- int num;
- char grade;
- }student;
- int input(student s[100]);
- float average(student s[100],int num);
- float sigma(student s[100],int num, float avg);
- void decision(student s[100],int num, float avg,float sd);
- void output(student s[100],int num);
- int main()
- {
- int num;
- float avg,sd;
- student std[100];
- num=input(std);
- avg=average(std,num);
- sd=sigma(std,num,avg);
- decision(std,num,avg,sd);
- output(std,num);
- system("PAUSE");
- return 0;
- }
- int input(student s[100])
- {
- int i,num;
- printf("Number of students : ");
- scanf("%d",&num);
- for(i=0;i<num;i++)
- {
- printf("Neme #%d : ",i+1);
- scanf("%s",s[i].name);
- printf("Score #%d : ",i+1);
- scanf("%f",&s[i].score);
- printf("Attend #%d : ",i+1);
- scanf("%d",&s[i].num);
- }
- return num;
- }
- float average(student s[100],int num)
- {
- int i;
- float sum=0,avg=0;
- for(i=0;i<num;i++)
- {
- sum+=s[i].score;
- }
- avg=sum/num;
- printf("SCORE AVERAGE = %.2f\n", avg);
- return avg;
- }
- float sigma(student s[100],int num, float avg)
- {
- int i;
- float sum=0,sd=0;
- for(i=0;i<num;i++)
- {
- sum+=(s[i].score-avg)*(s[i].score-avg);
- }
- sd=sqrt(sum/num);
- printf("SCORE SD = %.2f\n",sd);
- return sd;
- }
- void decision(student s[100],int num, float avg,float sd)
- {
- int i;
- for(i=0;i<num;i++)
- {
- if(s[i].score>avg&&s[i].score>sd&&s[i].num>0.8*45)
- {
- s[i].grade='G';
- }
- else if(s[i].score>avg&&s[i].num>0.5*45)
- {
- s[i].grade='P';
- }
- else
- {
- s[i].grade='F';
- }
- }
- }
- void output(student s[100],int num)
- {
- int i,g=0,p=0,f=0;
- printf("-----------------------------\n");
- printf("Name\t Score\t Attend\t Grade\n");
- printf("-----------------------------\n");
- for(i=0;i<num;i++)
- {
- printf("%s\t %.2f\t %d\t %c\n",s[i].name,s[i].score,s[i].num,s[i].grade);
- if(s[i].grade=='G')
- {
- g++;
- }
- else if (s[i].grade=='P')
- {
- p++;
- }
- else if(s[i].grade=='F')
- {
- f++;
- }
- }
- printf("-----------------------------\n");
- printf("GOOD=%d, PASS=%d, FAIL=%d\n", g, p, f);
- printf("-----------------------------\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement