Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Desafio12;
- import java.util.ArrayList;
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- ArrayList<Float> listCargos = new ArrayList<>();
- ArrayList<Registro> listRegistros = new ArrayList<>();
- int menu = -1;
- System.out.println("Bem vindo ao sistema.");
- do {
- System.out.println("1 - Cadastrar os cargos da empresa.");
- System.out.println("2 - Cadastrar os funcionarios da empresa.");
- System.out.println("3 - Mostrar um relatorio contento o numero, o nome e o valor do sálario de todos os funcionarios.");
- System.out.println("4 - Mostrar o valor pago aos funcionarios que pertençam a um cargo informado pelo usuario.");
- System.out.println("5 - Finalizar.");
- System.out.printf("Opção: ");
- menu = sc.nextInt();
- System.out.println("\n");
- switch (menu){
- case 1:
- cadatrarCargo(listCargos);
- break;
- case 2:
- cadastrarRegistro(listRegistros,listCargos);
- break;
- case 3:
- mostrarValorPago(listRegistros,listCargos);
- break;
- case 4:
- int cargoSelecionado = -1;
- do {
- System.out.printf("Informe o cargo que você deseja saber o total pago: ");
- cargoSelecionado = sc.nextInt();
- if (cargoSelecionado > 0 && cargoSelecionado <= 5){
- System.out.println("Salario total pago ao cargo " + cargoSelecionado + ": " + calcularSalarioCargo(listRegistros,listCargos,cargoSelecionado));
- System.out.println("\n");
- }else
- System.out.println("Informe um cargo valido.");
- }while (cargoSelecionado < 1 || cargoSelecionado > 5);
- break;
- case 5:
- System.exit(0);
- break;
- default:
- System.out.println("Informe uma opção valida!");
- System.out.println("\n");
- break;
- }
- }while (menu != 5);
- }
- public static void cadatrarCargo(ArrayList<Float> list){
- if (list.isEmpty()){
- for (int i = 0; i < 5; i++) {
- Scanner sc = new Scanner(System.in);
- System.out.printf("Informe o valor do carga[%d] a ser registrado: ",i+1);
- list.add(sc.nextFloat());
- }
- System.out.println("\n");
- }else{
- System.out.println("Salários dos cargos já cadastrados");
- System.out.println("\n");
- }
- }
- public static void cadastrarRegistro(ArrayList<Registro> listRegistro, ArrayList<Float> listCargos){
- if (listRegistro.size() <= 15) {
- Scanner sc = new Scanner(System.in);
- Registro registro = new Registro();
- boolean validar;
- do {
- System.out.printf("Informe o número do funcionario: ");
- registro.setCodigo(sc.nextInt());
- validar = validarCodigo(registro.getCodigo(), listRegistro);
- if (validar)
- System.out.println("");
- } while (validar);
- do {
- Scanner scAux = new Scanner(System.in);
- System.out.printf("Informe o nome do funcionario: ");
- registro.setNome(scAux.nextLine());
- validar = validarNome(registro.getNome());
- if (validar)
- System.out.println("");
- } while (validar);
- do {
- System.out.printf("Informe o codigo do cargo: ");
- registro.setCodigo_cargo(sc.nextInt());
- validar = validarCodigoCargo(registro.getCodigo_cargo(), listCargos);
- if (validar) {
- System.out.println("");
- if (listCargos.isEmpty())
- System.out.println("Não existe nenhum codigo de cargo cadastrado");
- }
- } while (validar && !listCargos.isEmpty());
- if (!listCargos.isEmpty()){
- listRegistro.add(registro);
- System.out.println("Cadastro realizado com sucesso.");
- System.out.println("\n");
- }
- else{
- System.out.println("Não foi possivel adiconar o novo registro!");
- System.out.println("\n");
- }
- }else{
- System.out.println("Não é possivel inserir mais registros.");
- }
- }
- public static void mostrarValorPago(ArrayList<Registro> listRegistro, ArrayList<Float> listCargos){
- for (Registro registro: listRegistro) {
- System.out.println("Codigo: " + registro.getCodigo());
- System.out.println("Nome: " + registro.getNome());
- System.out.println("Salario: R$" + listCargos.get(registro.getCodigo_cargo() - 1));
- System.out.println("");
- }
- System.out.println("");
- }
- public static float calcularSalarioCargo(ArrayList<Registro> listRegistro, ArrayList<Float> listCargos, int cargo){
- float somaSalario = 0;
- for (Registro registro: listRegistro) {
- if(registro.getCodigo_cargo() == (cargo)){
- somaSalario += listCargos.get(cargo -1);
- }
- }
- return somaSalario;
- }
- public static boolean validarCodigo(int codigo, ArrayList<Registro> list){
- for (Registro registro: list) {
- if(registro.getCodigo() == codigo)
- return true;
- }
- return false;
- }
- public static boolean validarNome(String nome){
- String[] nomeAux = nome.split(" ");
- if(nomeAux.length >= 2)
- return false;
- return true;
- }
- public static boolean validarCodigoCargo(int codigo, ArrayList<Float> list){
- if(codigo > 0 && codigo <= list.size())
- return false;
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement