Advertisement
F_THIAGO

Media variada

Feb 1st, 2019
339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.27 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. // Prototipo da funcao
  5. float medias( char modo, float nota_1, float nota_2, float nota_3 );
  6.  
  7. int main()
  8. {
  9.     // Declara as variaveis usadas
  10.     float nota_1, nota_2, nota_3;
  11.     float media;
  12.    
  13.     // Recebe os valores das notas
  14.     printf(":Nota 1: ");
  15.     scanf("%f", &nota_1 );
  16.  
  17.     printf(":Nota 2: ");
  18.     scanf("%f", &nota_2 );
  19.    
  20.     printf(":Nota 3: ");
  21.     scanf("%f", &nota_3 );
  22.    
  23.     // Imprime a media ponderada e aritmetica
  24.     media = medias( 'A', nota_1, nota_2, nota_3 );
  25.     printf("\nMedia Aritmetica: %.2f", media);
  26.    
  27.     media = medias( 'P', nota_1, nota_2, nota_3 );
  28.     printf("\nMedia Ponderada: %.2f", media);
  29.    
  30.     return 0;
  31. }
  32.  
  33. // Implementacao da funcao
  34. float medias( char modo, float nota_1, float nota_2, float nota_3 )
  35. {
  36.     // Verifica o modo escolhido
  37.     switch( modo )
  38.     {
  39.         // Caso se passe o valor A, maiuscula ou minuscula, o programa retorna a media aritmetica
  40.         case 'A':
  41.             case 'a':
  42.                 return  ( nota_1 + nota_2 + nota_3 ) / (float) 3;
  43.                 break;
  44.                
  45.         // Caso se passe o valor P, ..., retorna o valor da media ponderada
  46.         case 'P':
  47.             case 'p':
  48.                 return ( nota_1*5 + nota_2*3 + nota_3*2 ) / (float)10;
  49.                
  50.         // Caso o parametro nao seja identificado retorna um valor negativo
  51.         default:
  52.             return -1;
  53.                
  54.     }
  55.    
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement