Advertisement
Advatre

situacao_aluno

Mar 11th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.89 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4.  
  5. //HEADERS
  6. char situacao(float p1, float p2, float p3, int faltas, int aulas, float *media);
  7.  
  8. //MAIN
  9. int main()
  10. {
  11.     setlocale(LC_ALL, "Portuguese");
  12.  
  13.     float p1,p2,p3,media;
  14.     int faltas,aulas,controle,i;
  15.     do
  16.     {
  17.         printf("\nDigite o nota da 1ª prova: ");
  18.         scanf("%f",&p1);
  19.         printf("\nDigite o nota da 2ª prova: ");
  20.         scanf("%f",&p2);
  21.         printf("\nDigite o nota da 3ª prova: ");
  22.         scanf("%f",&p3);
  23.         printf("\nDigite a quantidade de aulas: ");
  24.         scanf("%i",&aulas);
  25.         printf("\nDigite a quantidade de faltas: \n");
  26.         scanf("%i",&faltas);
  27.         switch(situacao(p1,p2,p3,faltas,aulas,&media))
  28.         {
  29.         case 'A':
  30.             printf("Aprovado!\nMédia: %.1f",media);
  31.             break;
  32.         case 'F':
  33.             printf("Reprovado por Falta!\nMédia: %.1f",media);
  34.             break;
  35.         case 'R':
  36.             printf("Reprovado!\nMédia: %.1f",media);
  37.             break;
  38.         }
  39.         printf("\nDeseja continuar o programa?\n[1] = Sim\n[2] = Não\nDigite: ");
  40.         scanf("%i",&controle);
  41.         while (controle!=1 && controle!=2)
  42.         {
  43.             system("cls");
  44.             printf("\nOpção incorreta.\n");
  45.             printf("\nDeseja continuar o programa?\n[1] = Sim\n[2] = Não\nDigite: ");
  46.             scanf("%i",&controle);
  47.         }
  48.         system("cls");
  49.     }
  50.     while(controle==1);
  51.     printf("######Programa encerrado.######");
  52. }
  53.  
  54. //IMPLEMENTAÇÃO
  55. char situacao(float p1, float p2, float p3, int faltas, int aulas, float *media)
  56. {
  57.     *media=(p1+p2+p3)/3;
  58.     float a=(float)faltas/aulas;
  59.     if (a>0.25)
  60.     {
  61.         return 'F';
  62.     }
  63.     else if (*media<6.00)
  64.     {
  65.         return 'R';
  66.     }
  67.     else if(a<0.25&&*media>=6.00)
  68.     {
  69.         return 'A';
  70.     }
  71. //editado em 16-03-2019.
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement