static void Main(string[] args) { //Criando o nosso vetor Funcionario[] funcionarios = new Funcionario[1000]; System.Console.WriteLine(FolhaDePagamento.INSS); string comando = null; int quantidadeDeCadastros = 0; do { //Limpa o menu Console.Clear(); #region Menu Console.WriteLine("[1]. Cadastrar Funcionário"); Console.WriteLine("[2]. Exibir Folha de Pagamento"); Console.WriteLine("[3]. Total de custo bruto da folha"); Console.WriteLine("[4]. Aumento de salário"); Console.WriteLine("[5]. Total de custo líquido da folha\n"); Console.WriteLine("[0]. Sair"); comando = Console.ReadLine(); #endregion switch (comando) { #region Cadastro de usuário case "1": if (quantidadeDeCadastros < funcionarios.Length) { //Instancia do funcionario funcionarios[quantidadeDeCadastros] = new Funcionario(); //Recebendo o nome Console.WriteLine("Informe o nome: "); funcionarios[quantidadeDeCadastros].Nome = Console.ReadLine(); //Recebendo o salario Console.WriteLine("Informe o salário: "); funcionarios[quantidadeDeCadastros].Salario = double.Parse(Console.ReadLine()); //Incrementa a quantidade quantidadeDeCadastros++; } else { System.Console.WriteLine("Erro. Quantidade máxima de usuários cadastrados"); } break; #endregion #region Folha de pagamento case "2": //Exibindo os funcionarios int cont = 0; foreach (Funcionario f in funcionarios) { //Verificando se o f for diferete de nulo if (f == null) { break; } Console.WriteLine($"[{cont}] - Nome: {f.Nome}; Salário: {f.Salario}"); cont++; } System.Console.WriteLine($"Escolha o usuario entre [0 - {quantidadeDeCadastros - 1}]"); int indice = int.Parse(Console.ReadLine()); if (indice >= 0 && indice < quantidadeDeCadastros) { FolhaDePagamento.MostrarFolhaDePagamento(funcionarios[indice]); } else { System.Console.WriteLine("Índice inválido"); } break; #endregion #region Salario Bruto case "3": double total = 0; //Percorre a lista de funcionarios foreach (Funcionario f in funcionarios) { //Verificando se o funcionario e nulo if (f == null) { break; } //Realiza a soma dos salarios total += f.Salario; } System.Console.WriteLine($"Total de salários brutos: {total}"); break; #endregion case "4": System.Console.WriteLine($"Escolha o usuario entre [0 - {quantidadeDeCadastros - 1}]"); int indice2 = int.Parse(Console.ReadLine()); if (indice2 >= 0 && indice2 < quantidadeDeCadastros) { FolhaDePagamento.AumentarSalario(funcionarios[indice2]); } else { System.Console.WriteLine("Índice inválido"); } break; case "5": double totalLiquido = 0; //Percorre a lista de funcionarios foreach (Funcionario f in funcionarios) { //Verificando se o funcionario e nulo if (f == null) { break; } //Realiza a soma dos salarios totalLiquido += f.Salario - FolhaDePagamento.CalcularDescontos(f.Salario); } System.Console.WriteLine($"Total de salários brutos: {totalLiquido}"); break; default: Console.WriteLine("Comando inválido"); break; } Console.ReadKey(); } while (comando != "0"); }
static void Main() { Funcionario[] funcionarios = new Funcionario[1000]; Console.WriteLine(FolhaDePagamento.INSS); string opcao; int quantidadeCadastros = 0; do { #region Menu Console.Clear(); Console.WriteLine("[1]. Cadastrar Funcionário"); Console.WriteLine("[2]. Exibir Folha de Pagamento"); Console.WriteLine("[3]. Total de custo bruto da folha"); Console.WriteLine("[4]. Aumento de salário"); Console.WriteLine("[5]. Total de custo líquido da folha\n"); Console.WriteLine("[0]. Sair"); opcao = Console.ReadLine(); #endregion switch (opcao) { case "1": if (quantidadeCadastros < funcionarios.Length) { funcionarios[quantidadeCadastros] = new Funcionario(); Console.WriteLine("Informe o nome: "); funcionarios[quantidadeCadastros].Nome = Console.ReadLine(); Console.WriteLine("Informe o salário: "); funcionarios[quantidadeCadastros].Salario = double.Parse(Console.ReadLine()); quantidadeCadastros++; } else { Console.WriteLine("Erro. Quantidade máxima de usuários cadastrados"); } break; case "2": int cont = 0; foreach (Funcionario f in funcionarios) { if (f == null) { break; } Console.WriteLine($"[{cont}] - Nome: {f.Nome}; Salário: {f.Salario}"); cont++; } Console.WriteLine($"Escolha o usuario entre [0 - {quantidadeCadastros - 1}]"); int indice = int.Parse(Console.ReadLine()); if (indice >= 0 && indice < quantidadeCadastros) { FolhaDePagamento.MostrarFolhaDePagamento(funcionarios[indice]); } else { Console.WriteLine("Índice inválido"); } break; case "3": double total = 0; foreach (Funcionario f in funcionarios) { if (f == null) { break; } total += f.Salario; } Console.WriteLine($"Total de salários brutos: {total}"); break; case "4": Console.WriteLine($"Escolha o usuario entre [0 - {quantidadeCadastros - 1}]"); int indice2 = int.Parse(Console.ReadLine()); if (indice2 >= 0 && indice2 < quantidadeCadastros) { FolhaDePagamento.AumentarSalario(funcionarios[indice2]); } else { Console.WriteLine("Índice inválido"); } break; case "5": double totalLiquido = 0; foreach (Funcionario f in funcionarios) { if (f == null) { break; } totalLiquido += f.Salario - FolhaDePagamento.CalcularDescontos(f.Salario); } Console.WriteLine($"Total de salários brutos: {totalLiquido}"); break; default: Console.WriteLine("Comando inválido"); break; } Console.ReadKey(); } while (opcao != "0"); }