Advertisement
LightProgrammer000

Cálculo de Médias

Nov 22nd, 2018
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.22 KB | None | 0 0
  1. /// Bibliotecas
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <locale.h>
  5. #include <math.h>
  6.  
  7. /// Prototipacao [Funcoes]
  8. int Menu(int i);
  9. float Media_Harmonica();
  10. float Media_Geometrica();
  11. float Media_Aritmetica();
  12. float Media_Ponderada();
  13.  
  14. /// Programa
  15. int main( int argc, char * argv [] )
  16. {
  17.     // Configuracoes [Idioma]
  18.     setlocale(LC_ALL, "Portuguese");
  19.  
  20.     // Variavel [Controle]
  21.     int esc;
  22.     int i = 1;
  23.  
  24.     // Estrutura de Repeticao
  25.     while ( i == 1 )
  26.     {
  27.         system("cls & color A");
  28.         printf("\n -------- MEDIAS --------");
  29.         printf("\n [1] - Media Harmonica");
  30.         printf("\n [2] - Media Geométrica");
  31.         printf("\n [3] - Media Aritmética");
  32.         printf("\n [4] - Media Ponderada");
  33.         printf("\n ------------------------\n");
  34.         printf("\n- Opc: ");
  35.         scanf("%d", &esc);
  36.  
  37.         /// Estrutura de Decisao
  38.         if ( esc == 1 )
  39.         {
  40.             Media_Harmonica();
  41.         }
  42.  
  43.         else if ( esc == 2 )
  44.         {
  45.             Media_Geometrica();
  46.         }
  47.  
  48.         else if ( esc == 3 )
  49.         {
  50.             Media_Aritmetica();
  51.         }
  52.  
  53.         else if ( esc == 4 )
  54.         {
  55.             Media_Ponderada();
  56.         }
  57.  
  58.         else
  59.         {
  60.             system("cls");
  61.             printf("\n\n --- Invalido --- \n\n");
  62.         }
  63.  
  64.         i = Menu(i);
  65.     }
  66.  
  67.     return(0);
  68. }
  69.  
  70. /////////////////////////// FUNCOES ///////////////////////////
  71.  
  72. /// Menu Interativo
  73. int Menu( int i )
  74. {
  75.     // Apresentacao
  76.     system("pause & cls & color C");
  77.     printf("\n- Deseja Voltar ?\n");
  78.     printf("\n [1] Sim \n [2] Não");
  79.     printf("\n\n - Opc: ");
  80.     scanf("%d", &i);
  81.  
  82.     // Entrada de Dados
  83.     switch (i)
  84.     {
  85.         case 1:
  86.             i = 1;
  87.             return(i);
  88.             break;
  89.  
  90.         case 2:
  91.             i = 2;
  92.             return(i);
  93.             break;
  94.  
  95.         default:
  96.             break;
  97.     }
  98.     return(0);
  99. }
  100.  
  101. /// Média Harmônica
  102. float Media_Harmonica()
  103. {
  104.     // Variaveis
  105.     int j, qtd;
  106.     float soma = 0;
  107.     float med_har, k;
  108.  
  109.     // Apresentacao
  110.     system("cls & color E");
  111.     printf("\n ----- Média Harmônica -----\n");
  112.  
  113.     // Entrada de Dados
  114.     printf("\n- Informe a Quantidade de numeros: ");
  115.     scanf("%d", &qtd);
  116.  
  117.     // Estrutura de Repeticao
  118.     for( j = 1; j <= qtd; j ++ )
  119.     {
  120.         printf("\n- Informe [%d]º: ", j);
  121.         scanf("%f", &k);
  122.  
  123.         // Variavel [Incrementavel]
  124.         soma += 1/k;
  125.     }
  126.  
  127.     // Calculo
  128.     med_har = 1/soma;
  129.  
  130.     // Apresentação
  131.     printf("\n\n ====== Resultado ====== \n");
  132.     printf("\n- Média Harmônica: %.2f\n", med_har );
  133.     printf("\n ======================= \n\n");
  134.  
  135.     return(0);
  136. }
  137.  
  138. /// Média Geométrica
  139. float Media_Geometrica()
  140. {
  141.     // Variaveis
  142.     int j, qtd;
  143.     float med_geo, k;
  144.     float mult = 1;
  145.  
  146.     // Apresentacao
  147.     system("cls & color E");
  148.     printf("\n ----- Média Geométrica -----\n");
  149.  
  150.     printf("\nInforme a Quantidade de numeros: ");
  151.     scanf("%d", &qtd);
  152.  
  153.     // Estrutura de Repeticao
  154.     for( j = 1; j <= qtd; j ++ )
  155.     {
  156.         printf("\n- Informe [%d]º: ", j);
  157.         scanf("%f", &k);
  158.  
  159.         // Variavel [Incrementavel]
  160.         mult *= k;
  161.     }
  162.  
  163.     // Cálculo
  164.     med_geo = pow( mult, pow( qtd, -1 ) );
  165.  
  166.     // Apresentação
  167.     printf("\n\n ====== Resultado ====== \n");
  168.     printf("\n- Média Geométrica: %.2f\n", med_geo );
  169.     printf("\n ======================= \n\n");
  170.  
  171.     return(0);
  172. }
  173.  
  174. /// Média Aritmética
  175. float Media_Aritmetica()
  176. {
  177.     // Variáveis
  178.     int j, qtd;
  179.     float soma = 0;
  180.     float med_art, k;
  181.  
  182.     // Apresentação
  183.     system("cls & color E");
  184.     printf("\n ----- Média Aritmética -----\n");
  185.  
  186.     printf("\nInforme a Quantidade de numeros: ");
  187.     scanf("%d", &qtd);
  188.  
  189.     // Estrutura de Repetição
  190.     for( j = 1; j <= qtd; j ++ )
  191.     {
  192.         printf("\n- Informe [%d]º: ", j);
  193.         scanf("%f", &k);
  194.  
  195.         soma += k;
  196.     }
  197.  
  198.     // Cálculo
  199.     med_art = soma / qtd;
  200.  
  201.     // Apresentação
  202.     printf("\n\n ====== Resultado ====== \n");
  203.     printf("\n- Média Aritmética: %.2f\n", med_art );
  204.     printf("\n ======================= \n\n");
  205.  
  206.     return(0);
  207. }
  208.  
  209. /// Média Ponderada
  210. float Media_Ponderada()
  211. {
  212.     // Variáveis
  213.     int j, qtd;
  214.     float med_pond, k, l;
  215.     float soma = 0;
  216.     float peso_soma = 0;
  217.  
  218.     // Entrada de Dados
  219.     system("cls & color E");
  220.     printf("\n ----- Média Aritmética -----\n");
  221.  
  222.     printf("\nInforme a Quantidade de numeros: ");
  223.     scanf("%d", &qtd);
  224.  
  225.     // Estrutura de Repetição
  226.     for( j = 1; j <= qtd; j ++ )
  227.     {
  228.         printf("\n- Informe [%d]º: ", j);
  229.         scanf("%f", &k);
  230.  
  231.         printf("\n- Informe o Peso: ");
  232.         scanf("%f", &l);
  233.  
  234.         soma += k*l;
  235.         peso_soma += l;
  236.     }
  237.  
  238.     // Proteção: Divisão por 0
  239.     if( peso_soma == 0 )
  240.     {
  241.         printf("Conta Invalida");
  242.     }
  243.  
  244.     else
  245.     {
  246.         // Cálculo
  247.         med_pond = soma/peso_soma;
  248.  
  249.         // Apresentação
  250.         printf("\n\n ====== Resultado ====== \n");
  251.         printf("\n- Média Ponderada: %.2f\n", med_pond );
  252.         printf("\n ======================= \n\n");
  253.     }
  254.  
  255.     return(0);
  256. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement