Advertisement
morikawa

struct_esqueleto.c

Nov 10th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.48 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #define MAX_ALUNOS 20
  4.  
  5. typedef float prova;
  6. typedef float media;
  7.  
  8. struct provas{
  9.   prova p[3];
  10.   media M;
  11. };
  12. typedef struct provas Provas;
  13.  
  14. struct aluno{
  15.   char ra[7];
  16.   int frequencia;
  17.   Provas Ps;
  18. };
  19.  
  20. int main(void)
  21. {
  22.   int n,i,j;
  23.   float desvios_Ps[3]={0.0,0.0,0.0},medias_Ps[3]={0.0,0.0,0.0};
  24.   struct aluno alunos[MAX_ALUNOS];
  25.  
  26.   printf("Insira o número de alunos.\n");
  27.   scanf("%d",&n);
  28.  
  29.   for(i=0;i<n;i++){
  30.     printf("Insira o RA do aluno.\n");
  31.     fgets(alunos[i].ra,7,stdin);
  32.     printf("Insira as notas das provas.\n");
  33.     for(j=0;j<3;j++){
  34.       scanf("%f",&alunos[i].Ps.p[j]);
  35.     }
  36.     while(getchar()!='\n');
  37.   }
  38.  
  39.   for(i=0;i<n;i++){
  40.     printf("RA: %s\n",alunos[i].ra);
  41.     printf("Prova 0: %.2f\n",alunos[i].Ps.p[0]);
  42.     printf("Prova 1: %.2f\n",alunos[i].Ps.p[1]);
  43.     printf("Prova 2: %.2f\n",alunos[i].Ps.p[2]);
  44.     alunos[i].Ps.M=0;
  45.     for(j=0;j<3;j++){
  46.       alunos[i].Ps.M+=alunos[i].Ps.p[j];
  47.     }
  48.     alunos[i].Ps.M/=3;
  49.     printf("Media: %.2f\n",alunos[i].Ps.M);
  50.     printf("\n");
  51.   }
  52.  
  53.   for(i=0;i<3;i++){
  54.     for(j=0;j<n;j++){
  55.       medias_Ps[i]+=alunos[j].Ps.p[i];
  56.       desvios_Ps[i]+=((alunos[j].Ps.p[i]-alunos[j].Ps.M)*(alunos[j].Ps.p[i]-alunos[j].Ps.M));
  57.     }
  58.     medias_Ps[i]/=n;
  59.     desvios_Ps[i]/=3;
  60.     desvios_Ps[i]=sqrt(desvios_Ps[i]);
  61.     printf("Media Geral P%d: %.2f\n",i,medias_Ps[i]);
  62.     printf("Devio padrao P%d: %.2f\n",i,desvios_Ps[i]);
  63.   }
  64.  
  65.   return 0;  
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement