gpsgiraldi

2024_function_pointer_mediaponderada

Oct 12th, 2024
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.31 KB | Source Code | 0 0
  1. /*(Elabore uma função que receba três notas de um aluno como
  2. parâmetro e uma letra. Se a letra for ‘A’, a função deve calcular
  3. a média aritmética das notas do aluno; se a letra for ‘P’, deverá
  4. calcular a média ponderada, com pesos 5, 3 e 2. Retorne a média
  5. calculada para o programa principal.*/
  6.  
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9.  
  10. float FuncPond(float *a,float *b,float *c){
  11.     printf("valores %f %f e %f passados com sucesso!\n",*a,*b,*c);
  12.     float mediafun =  ((*a)*5+(*b)*3+(*c)*2)/(5+3+2);
  13.     return mediafun;
  14.     }
  15.  
  16. float FuncArit(float *a,float *b,float *c){
  17.     printf("valores %f %f e %f passados com sucesso!\n",*a,*b,*c);
  18.     float mediafun = (*a+*b+*c)/3 ;
  19.     return mediafun;
  20.     }
  21.  
  22. int main()
  23. {
  24.     float x,y,z,media=0;//variaveis para as notas e aux é um array que vai definir o cálculo
  25.     char aux;
  26. //RECEBER 3 VALORES E SÓ ENTÃO UMA LETRA
  27.     scanf("%f %f %f", &x, &y, &z);
  28.     scanf(" %c",&aux);
  29.  
  30. //CALCULAR USANDO FUNÇÃO
  31.  
  32.     while(aux != 'A' && aux != 'P'){
  33.         printf("Insira 'A' ou 'P' \n");
  34.         scanf(" %c",&aux);
  35.     }
  36.     if(aux=='A'){
  37.         media=FuncArit(&x,&y,&z);
  38.     }
  39.     else if(aux=='P'){
  40.         media=FuncPond(&x,&y,&z);
  41.     }
  42.  
  43.  
  44. //SAÍDA
  45.     printf("%f %f %f \n",x,y,z);
  46.     printf("%f\n",media);
  47.     return 0;
  48. }
  49.  
Advertisement
Add Comment
Please, Sign In to add comment