Advertisement
Guest User

Desafio 12

a guest
Oct 20th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.39 KB | None | 0 0
  1. package Desafio12;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Scanner;
  5.  
  6. public class Main {
  7.  
  8.     public static void main(String[] args) {
  9.         Scanner sc = new Scanner(System.in);
  10.  
  11.         ArrayList<Float> listCargos = new ArrayList<>();
  12.         ArrayList<Registro> listRegistros = new ArrayList<>();
  13.         int menu = -1;
  14.  
  15.  
  16.         System.out.println("Bem vindo ao sistema.");
  17.  
  18.         do {
  19.  
  20.             System.out.println("1 - Cadastrar os cargos da empresa.");
  21.             System.out.println("2 - Cadastrar os funcionarios da empresa.");
  22.             System.out.println("3 - Mostrar um relatorio contento o numero, o nome e o valor do sálario de todos os funcionarios.");
  23.             System.out.println("4 - Mostrar o valor pago aos funcionarios que pertençam a um cargo informado pelo usuario.");
  24.             System.out.println("5 - Finalizar.");
  25.             System.out.printf("Opção: ");
  26.             menu = sc.nextInt();
  27.             System.out.println("\n");
  28.  
  29.  
  30.             switch (menu){
  31.                 case 1:
  32.                     cadatrarCargo(listCargos);
  33.  
  34.                     break;
  35.                 case 2:
  36.                     cadastrarRegistro(listRegistros,listCargos);
  37.  
  38.                     break;
  39.                 case 3:
  40.                     mostrarValorPago(listRegistros,listCargos);
  41.  
  42.                     break;
  43.                 case 4:
  44.                     int cargoSelecionado = -1;
  45.  
  46.                     do {
  47.                         System.out.printf("Informe o cargo que você deseja saber o total pago: ");
  48.                         cargoSelecionado = sc.nextInt();
  49.  
  50.                         if (cargoSelecionado > 0 && cargoSelecionado <= 5){
  51.                             System.out.println("Salario total pago ao cargo " + cargoSelecionado + ": " + calcularSalarioCargo(listRegistros,listCargos,cargoSelecionado));
  52.                             System.out.println("\n");
  53.                         }else
  54.                             System.out.println("Informe um cargo valido.");
  55.                     }while (cargoSelecionado < 1 || cargoSelecionado > 5);
  56.  
  57.                     break;
  58.                 case 5:
  59.                     System.exit(0);
  60.  
  61.                     break;
  62.  
  63.                 default:
  64.                     System.out.println("Informe uma opção valida!");
  65.                     System.out.println("\n");
  66.                     break;
  67.             }
  68.  
  69.         }while (menu != 5);
  70.  
  71.  
  72.  
  73.  
  74.     }
  75.  
  76.     public static void cadatrarCargo(ArrayList<Float> list){
  77.  
  78.         if (list.isEmpty()){
  79.             for (int i = 0; i < 5; i++) {
  80.                 Scanner sc = new Scanner(System.in);
  81.                 System.out.printf("Informe o valor do carga[%d] a ser registrado: ",i+1);
  82.                 list.add(sc.nextFloat());
  83.             }
  84.  
  85.             System.out.println("\n");
  86.         }else{
  87.             System.out.println("Salários dos cargos já cadastrados");
  88.             System.out.println("\n");
  89.         }
  90.     }
  91.  
  92.     public static  void cadastrarRegistro(ArrayList<Registro> listRegistro, ArrayList<Float> listCargos){
  93.  
  94.         if (listRegistro.size() <= 15) {
  95.             Scanner sc = new Scanner(System.in);
  96.             Registro registro = new Registro();
  97.  
  98.             boolean validar;
  99.  
  100.             do {
  101.                 System.out.printf("Informe o número do funcionario: ");
  102.                 registro.setCodigo(sc.nextInt());
  103.  
  104.                 validar = validarCodigo(registro.getCodigo(), listRegistro);
  105.  
  106.                 if (validar)
  107.                     System.out.println("");
  108.             } while (validar);
  109.  
  110.  
  111.             do {
  112.                 Scanner scAux = new Scanner(System.in);
  113.  
  114.                 System.out.printf("Informe o nome do funcionario: ");
  115.                 registro.setNome(scAux.nextLine());
  116.  
  117.  
  118.                 validar = validarNome(registro.getNome());
  119.                 if (validar)
  120.                     System.out.println("");
  121.             } while (validar);
  122.  
  123.  
  124.             do {
  125.                 System.out.printf("Informe o codigo do cargo: ");
  126.                 registro.setCodigo_cargo(sc.nextInt());
  127.  
  128.                 validar = validarCodigoCargo(registro.getCodigo_cargo(), listCargos);
  129.                 if (validar) {
  130.                     System.out.println("");
  131.                     if (listCargos.isEmpty())
  132.                         System.out.println("Não existe nenhum codigo de cargo cadastrado");
  133.                 }
  134.             } while (validar && !listCargos.isEmpty());
  135.  
  136.  
  137.             if (!listCargos.isEmpty()){
  138.                 listRegistro.add(registro);
  139.  
  140.                 System.out.println("Cadastro realizado com sucesso.");
  141.                 System.out.println("\n");
  142.  
  143.             }
  144.             else{
  145.                 System.out.println("Não foi possivel adiconar o novo registro!");
  146.                 System.out.println("\n");
  147.             }
  148.  
  149.         }else{
  150.             System.out.println("Não é possivel inserir mais registros.");
  151.         }
  152.  
  153.  
  154.     }
  155.  
  156.     public static void mostrarValorPago(ArrayList<Registro> listRegistro, ArrayList<Float> listCargos){
  157.  
  158.         for (Registro registro: listRegistro) {
  159.             System.out.println("Codigo: " + registro.getCodigo());
  160.             System.out.println("Nome: " + registro.getNome());
  161.             System.out.println("Salario: R$" + listCargos.get(registro.getCodigo_cargo() - 1));
  162.             System.out.println("");
  163.         }
  164.  
  165.         System.out.println("");
  166.  
  167.     }
  168.  
  169.  
  170.     public static float calcularSalarioCargo(ArrayList<Registro> listRegistro, ArrayList<Float> listCargos, int cargo){
  171.         float somaSalario = 0;
  172.  
  173.         for (Registro registro: listRegistro) {
  174.             if(registro.getCodigo_cargo() == (cargo)){
  175.                 somaSalario += listCargos.get(cargo -1);
  176.             }
  177.         }
  178.  
  179.         return somaSalario;
  180.     }
  181.  
  182.  
  183.     public static boolean validarCodigo(int codigo, ArrayList<Registro> list){
  184.         for (Registro registro: list) {
  185.             if(registro.getCodigo() == codigo)
  186.                 return true;
  187.         }
  188.  
  189.         return false;
  190.     }
  191.  
  192.     public static boolean validarNome(String nome){
  193.  
  194.         String[] nomeAux = nome.split(" ");
  195.  
  196.         if(nomeAux.length >= 2)
  197.             return false;
  198.  
  199.         return true;
  200.     }
  201.  
  202.     public static boolean validarCodigoCargo(int codigo, ArrayList<Float> list){
  203.         if(codigo > 0 && codigo <= list.size())
  204.             return false;
  205.  
  206.         return true;
  207.  
  208.     }
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement