Advertisement
LightProgrammer000

Estatisticas_3

Feb 21st, 2020
463
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.14 KB | None | 0 0
  1. package Tarefas_1;
  2.  
  3. // Bibliotecas
  4. import java.util.Scanner;
  5.  
  6. public class EX_05
  7. {
  8.     public static void main(String[] args)
  9.     {
  10.         System.out.println("# Programa EX_05");
  11.  
  12.         try
  13.         {
  14.             // Variaveis
  15.             char sexo;
  16.             int idade;
  17.             double altura;
  18.             double peso;
  19.             int cor_olhos;
  20.             char cor_cabelos;
  21.  
  22.             // Controle 1
  23.             int opc = 1;
  24.             int qtd_masc = 0;
  25.             int qtd_fem = 0;
  26.             int qtd_masc_fem = 0;
  27.             int qtd_ruivo_azul = 0;
  28.  
  29.             // Controle 2
  30.             int soma_idade = 0;
  31.             double soma_peso = 0;
  32.             double soma_altura = 0;
  33.  
  34.             // Instanciacao
  35.             Scanner ent = new Scanner(System.in);
  36.  
  37.             do
  38.             {
  39.                 // Entrada de dados
  40.                 System.out.print("\n# Sexo\n[m] Masculino \n[f] Feminino \nOpc: ");
  41.                 sexo = ent.next().toLowerCase().charAt(0);
  42.  
  43.                 System.out.print("\n# Idade: ");
  44.                 idade = ent.nextInt();
  45.  
  46.                 System.out.print("# Altura: ");
  47.                 altura = ent.nextDouble();
  48.  
  49.                 System.out.print("# Peso: ");
  50.                 peso = ent.nextDouble();
  51.  
  52.                 System.out.print("\n# Cor dos olhos \n[1] Azuis \n[2] Verdes \n[3] Castanhos \nOpc: ");
  53.                 cor_olhos = ent.nextInt();
  54.  
  55.                 System.out.print("\n# Cor dos olhos \n[l] louros \n[c] castanhos \n[p] pretos \n[r] ruivos \nOpc: ");
  56.                 cor_cabelos = ent.next().toUpperCase().charAt(0);
  57.  
  58.                 // Estrutura de escolha: cor dos olhos
  59.                 switch(sexo)
  60.                 {
  61.                     case 'm':
  62.                         qtd_masc = cont_masc(qtd_masc);
  63.                         break;
  64.  
  65.                     case 'f':
  66.                         qtd_fem = cont_fem(qtd_fem);
  67.                         break;
  68.  
  69.                     default:
  70.                         break;
  71.                 }
  72.  
  73.                 // Chamada de funcoes
  74.                 soma_idade = soma_idade(soma_idade, idade); // Idade
  75.                 soma_altura = soma_altura(soma_altura, altura); // Altura
  76.                 soma_peso = soma_peso(soma_peso, peso); // Peso
  77.                 qtd_ruivo_azul = qtd_ruivo_azul(cor_olhos, cor_cabelos, qtd_ruivo_azul); // Ruivo e olho azul
  78.  
  79.                 // Quantidade de mulheres e homens
  80.                 qtd_masc_fem ++;
  81.  
  82.             } while(fluxo_rep(opc) == 1);
  83.  
  84.             // Relatorio estatistico
  85.             relatorio(qtd_masc, qtd_fem, qtd_masc_fem, soma_idade, soma_altura, soma_peso, qtd_ruivo_azul);
  86.         }
  87.  
  88.         catch (Exception e)
  89.         {
  90.             //System.err.println(e);
  91.         }
  92.     }
  93.  
  94.     // Funcao: Fluxo de repeticao de programa
  95.     private static int fluxo_rep(int opc)
  96.     {
  97.         // Instanciacao
  98.         Scanner ent = new Scanner(System.in);
  99.        
  100.         // Entrada de dados
  101.         System.out.print("\n# Deseja continuar\n[1] Sim \n[2] Nao \nOpc: ");
  102.         opc = ent.nextInt();
  103.        
  104.         return opc;
  105.     }
  106.    
  107.     // Funcao: Contagem do sexo masculino
  108.     private static int cont_masc(int qtd_masc)
  109.     {
  110.         return ++qtd_masc;
  111.     }
  112.    
  113.     // Funcao: Contagem do sexo feminino
  114.     private static int cont_fem(int qtd_fem)
  115.     {
  116.         return ++qtd_fem;
  117.     }
  118.    
  119.     // Funcao: Somatorio de idades
  120.     private static int soma_idade(int soma_idade, int idade)
  121.     {
  122.         soma_idade += idade;
  123.        
  124.         return soma_idade;
  125.     }
  126.    
  127.     // Funcao: Somatorio das alturas
  128.     private static double soma_altura(double soma_altura, double altura)
  129.     {
  130.         soma_altura += altura;
  131.        
  132.         return soma_altura;
  133.     }
  134.    
  135.     // Funcao: Somatorio dos pesos
  136.     private static double soma_peso(double soma_peso, double peso)
  137.     {
  138.         soma_peso += peso;
  139.        
  140.         return soma_peso;
  141.     }
  142.    
  143.     // Funcao: Quantidade de cabelo ruivo e olhos azuis
  144.     private static int qtd_ruivo_azul(int cor_olhos, char cor_cabelos, int qtd_ruivo_azul)
  145.     {          
  146.         // Analise dos cabelos e olhos
  147.         if( cor_olhos == 1 && cor_cabelos == 'R' )
  148.         {
  149.             qtd_ruivo_azul ++;
  150.         }
  151.        
  152.         return qtd_ruivo_azul;
  153.     }
  154.    
  155.     // Metodo: Relatorio estatistico
  156.     private static void relatorio(int qtd_masc, int qtd_fem, int qtd_masc_fem, int soma_idade, double soma_altura, double soma_peso, int qtd_ruivo_azul)
  157.     {
  158.         System.out.println("");
  159.         System.out.printf("# Media da idade: %.2f %s \n", (double) soma_idade / qtd_masc_fem ,"ano(s)");
  160.         System.out.println("# Media do peso: " + + soma_peso / qtd_masc_fem + " kg");
  161.         System.out.println("# Media da altura: " + soma_altura / qtd_masc_fem + " metro(s)");
  162.         System.out.println("# Porcentagem de pessoas do sexo feminino: " + (qtd_fem * 100 / qtd_masc_fem) + "%");
  163.         System.out.println("# Porcentagem de pessoas do sexo masculino: " + (qtd_masc * 100 / qtd_masc_fem) + "%");
  164.         System.out.println("# Quantidade de olhos azuis e cabelos ruivos: " + qtd_ruivo_azul);
  165.     }
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement