Esempio n. 1
0
        public static void CadastroFuncs(IFuncionario[] nomeClasse, int tipoFunc)
        {
            Console.Clear();
            string nome, cargo;
            double salarioBase;
            int    quantHoraExtra;

            Console.WriteLine("\nVocê terá que cadastrar " + nomeClasse.Length + " funcionários deste tipo.");

            Console.WriteLine();

            for (int i = 0; i < nomeClasse.Length; i++)
            {
                Console.Write(i + 1 + ") " + "Nome: ");
                nome = Console.ReadLine();

                Console.Write("Cargo: ");
                cargo = Console.ReadLine();

                Console.Write("Salário base: R$");
                salarioBase = double.Parse(Console.ReadLine());

                // GAMBIARRA DA BOA!! =D
                if (tipoFunc == 2)
                {
                    Console.Write("Quant. de horas extra: ");
                    quantHoraExtra = int.Parse(Console.ReadLine());

                    nomeClasse[i] = new Senior(nome, cargo, salarioBase, quantHoraExtra);
                }
                else if (tipoFunc == 1)
                {
                    Console.Write("Quant. de horas extra: ");
                    quantHoraExtra = int.Parse(Console.ReadLine());

                    nomeClasse[i] = new Junior(nome, cargo, salarioBase, quantHoraExtra);
                }
                else if (tipoFunc == 3)
                {
                    nomeClasse[i] = new Gerente(nome, cargo, salarioBase);
                }
                else if (tipoFunc == 4)
                {
                    nomeClasse[i] = new Diretor(nome, cargo, salarioBase, 500); // As horas extras serão o bônus por produtiv... Direitos trabalhistas é issó aí KKK
                }

                Console.WriteLine(new string('-', 30));
                Console.Clear();
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            bool   verifErro = false;
            int    opcao = 0, tipoFunc = 0; // 1 = junior, 2 = sênior, 3 = gerente, 4 = diretor
            double totalFolhaPag = 0;

            IFuncionario[] junior  = new Junior[3];
            IFuncionario[] senior  = new Senior[2];
            IFuncionario[] gerente = new Gerente[2];
            IFuncionario[] diretor = new Diretor[1];

            do
            {
                opcao = Menu();

                switch (opcao)
                {
                case 1: // Cadastro de funcionários
                    do
                    {
                        Console.Clear();
                        Console.WriteLine("Qual tipo de funcionário deseja cadastrar?");
                        Console.WriteLine("\nAnalista:\n1- Junior\n2- Sênior");
                        Console.WriteLine("Outros:");
                        Console.WriteLine("3- Gerente");
                        Console.WriteLine("4- Diretor *kkk, diretor = outros... okay, ficou bom! :'(");

                        try
                        {
                            verifErro = false;
                            tipoFunc  = int.Parse(Console.ReadLine());
                        }
                        catch (FormatException formex)
                        {
                            Console.WriteLine("\n" + formex.Message);
                            verifErro = true;
                        }
                        catch
                        {
                            Console.WriteLine("EROUUU (voz do Silvio S.)!!");
                            verifErro = true;
                        }
                    } while (verifErro == true);

                    if (tipoFunc == 1)
                    {
                        CadastroFuncs(junior, 1);
                    }
                    else if (tipoFunc == 2)
                    {
                        CadastroFuncs(senior, 2);
                    }
                    else if (tipoFunc == 3)
                    {
                        CadastroFuncs(gerente, 3);
                    }
                    else if (tipoFunc == 4)
                    {
                        CadastroFuncs(diretor, 4);
                    }

                    Console.WriteLine("\n\nPressione qualquer tecla para voltar.");
                    Console.ReadKey();
                    Console.Clear();
                    break;

                case 2: //Listar todos funcionários
                    Console.Clear();

                    Console.WriteLine("Analistas:");
                    Console.WriteLine("\nJuniores:");
                    ImprimeDados(junior);

                    Console.WriteLine(new string('-', 30));

                    Console.WriteLine("Seniores:");
                    ImprimeDados(senior);

                    Console.WriteLine(new string('-', 30));

                    Console.WriteLine("Gerentes:");
                    ImprimeDados(gerente);

                    Console.WriteLine(new string('-', 30));

                    Console.WriteLine("Diretor(es):");
                    ImprimeDados(diretor);

                    Console.WriteLine("\n\nPressione qualquer tecla para voltar.");
                    Console.ReadKey();
                    Console.Clear();
                    break;

                case 3:
                    totalFolhaPag = 0;

                    Console.Clear();
                    Console.WriteLine("Total folha pagamento:");

                    totalFolhaPag  = CalcFolhaPag(junior);
                    totalFolhaPag += CalcFolhaPag(senior);
                    totalFolhaPag += CalcFolhaPag(gerente);
                    totalFolhaPag += CalcFolhaPag(diretor);

                    Console.WriteLine("R${0}", totalFolhaPag);

                    Console.WriteLine("\n\nPressione qualquer tecla para voltar.");
                    Console.ReadKey();
                    Console.Clear();
                    break;
                }
            } while (opcao != 4);
        }