예제 #1
0
        static void Main(string[] args)
        {
            Aluno[] alunos            = new Aluno[4];
            int     alunosCadastrados = 0;

            Sala[] salas            = new Sala[1];
            int    salasCadastradas = 0;

            bool querSair = false;



            do
            {
                Console.WriteLine("Bem vindo ao SENAIzinho");

                Console.WriteLine("1- Cadastrar Aluno");
                Console.WriteLine("2- Cadastrar Sala");
                Console.WriteLine("3- Alocar Aluno");
                Console.WriteLine("4- Remover Aluno");
                Console.WriteLine("5- Verificar Salas");
                Console.WriteLine("6- Verificar Alunos");
                Console.WriteLine("0- Sair");

                int codigo = int.Parse(Console.ReadLine());

                switch (codigo)
                {
                case 1:
                    Aluno aluno = new Aluno();

                    Console.WriteLine("Digite o nome do aluno");
                    aluno.nome = Console.ReadLine();

                    Console.WriteLine("Digite a data de nascimento");
                    aluno.dataNascimento = DateTime.Parse(Console.ReadLine());

                    Console.WriteLine("Digite o curso");
                    aluno.curso = Console.ReadLine();

                    alunos[alunosCadastrados] = aluno;

                    alunosCadastrados++;

                    Console.ForegroundColor = ConsoleColor.Green;
                    System.Console.WriteLine("Cadastro de aluno concluído");
                    Console.ResetColor();
                    break;

                case 2:
                    Sala sala = new Sala();

                    Console.WriteLine("Digite o numero da sala");
                    sala.numeroSala = int.Parse(Console.ReadLine());

                    Console.WriteLine("Digite a capacidade total");
                    sala.capacidadeTotal = int.Parse(Console.ReadLine());

                    sala.capacidadeAtual = sala.capacidadeTotal;

                    sala.alunos = new string[sala.capacidadeTotal];

                    salas[salasCadastradas] = sala;

                    salasCadastradas++;

                    Console.ForegroundColor = ConsoleColor.Green;
                    System.Console.WriteLine("Cadastro de sala concluído");
                    Console.ResetColor();
                    break;

                case 3:
                    if (alunosCadastrados == 0)
                    {
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        System.Console.WriteLine("Nenhum aluno cadastrado!");
                        Console.ResetColor();

                        System.Console.WriteLine("Aperte ENTER para voltar ao menu");
                        Console.ReadLine();
                        continue;
                    }
                    else if (salasCadastradas == 0)
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        System.Console.WriteLine("Nenhuma sala cadstrada!");
                        Console.ResetColor();

                        System.Console.WriteLine("Aperte ENTER para voltar ao menu");
                        Console.ReadLine();
                        continue;
                    }

                    Console.WriteLine("Digite o nome do aluno");
                    string nomeAluno       = Console.ReadLine();
                    Aluno  alunoRecuperado = null;
                    foreach (Aluno item in alunos)
                    {
                        if (item != null && nomeAluno.Equals(item.nome))
                        {
                            alunoRecuperado = item;
                            break;
                        }
                    }

                    if (alunoRecuperado == null)
                    {
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        System.Console.WriteLine($"Aluno {nomeAluno} não encontrado!");
                        Console.ResetColor();

                        System.Console.WriteLine("Aperte ENTER para voltar ao menu");
                        Console.ReadLine();
                        continue;
                    }

                    //Recupera o numero da sala
                    System.Console.WriteLine("Digite o número dA sala");
                    int numeroSala = int.Parse(Console.ReadLine());

                    //Busca pela Sala correta
                    Sala salaRecuperada = null;
                    foreach (Sala item in salas)
                    {
                        if (item != null && numeroSala.Equals(item.numeroSala))
                        {
                            salaRecuperada = item;
                            break;
                        }
                    }

                    if (salaRecuperada == null)
                    {
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        System.Console.WriteLine($"Aluno {numeroSala} não encontrado!");
                        Console.ResetColor();

                        System.Console.WriteLine("Aperte ENTER para voltar ao menu");
                        Console.ReadLine();
                        continue;
                    }

                    Console.ForegroundColor = ConsoleColor.Blue;
                    System.Console.WriteLine(salaRecuperada.AlocarAluno(alunoRecuperado.nome));
                    Console.ResetColor();

                    break;

                case 4:
                    if (alunosCadastrados != null)
                    {
                        System.Console.WriteLine("Digite o nome do alunos que deseja remover");
                        string remover = Console.ReadLine();
                        if (remover.Equals(alunosCadastrados))
                        {
                            alunosCadastrados--;
                        }
                    }
                    break;

                case 5:
                    foreach (var item in salas)
                    {
                        if (item != null)
                        {
                            System.Console.WriteLine("-----------------------------------------------------");
                            System.Console.WriteLine($"Número da sala: {item.numeroSala}");
                            System.Console.WriteLine($"Vagas disponíveis: {item.capacidadeAtual}");
                            System.Console.WriteLine($"Alunos: {item.ExibirAlunos()}");
                            System.Console.WriteLine("-----------------------------------------------------");
                        }
                    }

                    System.Console.WriteLine("Aperte ENTER para voltar ao menu principal");
                    Console.ReadLine();

                    break;

                case 6:
                    foreach (var item in alunos)
                    {
                        if (item != null)
                        {
                            System.Console.WriteLine("-----------------------------------------------------");
                            System.Console.WriteLine($"Nome do aluno: {item.nome}");
                            System.Console.WriteLine($"Curso: {item.curso}");
                            System.Console.WriteLine("-----------------------------------------------------");
                        }
                    }
                    System.Console.WriteLine("Aperte ENTER para voltar ao menu principal");
                    Console.ReadLine();
                    break;

                case 0:
                    Console.WriteLine("Obrigado pela atenção e volte sempre");
                    break;

                default:
                    break;
                }
            } while (!querSair);
        }
예제 #2
0
        static void Main(string[] args)
        {
            int limiteAunos       = 3;
            int limiteSalas       = 2;
            int limiteProfessores = 2;

            Aluno[] alunos = new Aluno[limiteAlunos];
            Sala[]  salas  = new Sala[limiteSalas];

            int alunosCadastrados = 0;
            int salasCadastradas  = 0;

            bool querSair = false;

            do
            {
                Console.Clear();
                System.Console.WriteLine("===================================");
                Console.ForegroundColor = ConsoleColor.DarkRed;
                System.Console.WriteLine("        *** SENAIzinho ***         ");
                Console.ResetColor();
                System.Console.WriteLine("         Seja Bem-vindo(a)         ");
                System.Console.WriteLine("===================================");
                System.Console.WriteLine("|| Digite sua opção:             ||");
                System.Console.WriteLine("||  1 - Cadastrar Aluno          ||");
                System.Console.WriteLine("||  2 - Cadastrar Sala           ||");
                System.Console.WriteLine("||  3 - Alocar Aluno             ||");
                System.Console.WriteLine("||  4 - Remover Alunos           ||");
                System.Console.WriteLine("||  5 - Verificar Salas          ||");
                System.Console.WriteLine("||  6 - Verificar Alunos         ||");
                System.Console.WriteLine("||  9 - Sair                     ||");
                System.Console.WriteLine("===================================");
                int codigo = int.Parse(Console.ReadLine());

                switch (codigo)
                {
                    #region CADASTRO_ALUNOS
                case 1:
                    if (limiteAlunos != alunosCadastrados)
                    {
                        Aluno aluno = new Aluno();

                        Console.WriteLine("Digite o nome do aluno");
                        aluno.nome = Console.ReadLine();

                        Console.WriteLine("Digite a data de nascimento");
                        aluno.dataNascimento = DateTime.Parse(Console.ReadLine());

                        Console.WriteLine("Digite o curso");
                        aluno.curso = Console.ReadLine();

                        alunos[alunosCadastrados] = aluno;

                        alunosCadastrados++;

                        MostrarMensagem($"Cadastro de {aluno.GetType().Name} concluído", TipoMensagemEnum.SUCESSO);
                    }
                    else
                    {
                        MostrarMensagem($"\nLimite de Cadastro de {alunos.GetType().Name} atingido!", TipoMensagemEnum.Erro);
                    }

                    break;

                    #endregion
                    #region CADSTRO_SALAS
                case 2:
                    if (limiteSalas != salasCadastradas)
                    {
                        Sala sala = new Sala();

                        Console.WriteLine("Digite o numero da sala");
                        sala.numeroSala = int.Parse(Console.ReadLine());

                        Console.WriteLine("Digite a capacidade total");
                        sala.capacidadeTotal = int.Parse(Console.ReadLine());

                        sala.capacidadeAtual = sala.capacidadeTotal;

                        sala.alunos = new string[sala.capacidadeTotal];

                        salas[salasCadastradas] = sala;

                        salasCadastradas++;

                        MostrarMensagem($"Cadastro de {sala.GetType().Name} concluído", TipoMensagemEnum.SUCESSO);
                    }
                    else
                    {
                        MostrarMensagem($"Limite de salas atingido!", TipoMensagemEnum.ERRO);
                    }
                    break;

                    #endregion
                    #region ALOCAR_ALUNOS
                case 3:
                    if (!VAlidarAlocarOuRemover(alunosCadastrados, salasCadastradas))
                    {    //tudo vai virar true nesse caso por conta do sinal de negação
                        continue;
                    }

                    Console.WriteLine("Digite o nome do aluno");
                    string nomeAluno = Console.ReadLine();

                    Aluno alunoRecuperado = ProcurarAlunoPorNome(alunos, nomeAluno);

                    if (alunoRecuperado == null)
                    {
                        MostrarMensagem($"Aluno {nomeAluno} não encontrado", TipoMensagemEnum.ALERTA);
                        continue;
                    }

                    //Recupera o numero da sala
                    System.Console.WriteLine("Digite o número da sala");
                    int numeroSala = int.Parse(Console.ReadLine());

                    //Busca pela Sala correta
                    Sala salaRecuperada = ProcurarSalaPorNumero(salas, numeroSala);

                    if (salaRecuperada == null)
                    {
                        MostrarMensagem($"Sala {numeroSala} não encontrada", TipoMensagemEnum.ALERTA);
                        continue;
                    }

                    //FIXME: Como exibir as mensagens e cores diferentes
                    MostrarMensagem(salaRecuperada.AlocarAluno(alunoRecuperado.nnome), TipoMensagemEnum.DESTAQUE);
                    break;

                    #endregion
                    #region REMOVER_ALUNOS
                case 4:
                    if (!VAlidarAlocarOuRemover(alunosCadastrados, salasCadastradas))
                    {
                        continue;
                    }

                    Console.WriteLine("Digite o nome do aluno");
                    string nomeAlunoRemover = Console.ReadLine();

                    Aluno alunoRemover = null;

                    foreach (Aluno item in alunos)
                    {
                        if (item != null && nomeAlunoRemover.Equals(item.nome))
                        {
                            alunoRemover = item;
                            break;
                        }
                    }

                    if (alunoRemover == null)
                    {
                        MostrarMensagem($"Aluno {nomeAlunoRemover} não encontrado", TipoMensagemEnum.ALERTA);
                        continue;
                    }

                    //Recupera o numero da sala
                    System.Console.WriteLine("Digite o número da sala");
                    int numeroSalaRemover = int.Parse(Console.ReadLine());

                    //Busca pela Sala correta
                    Sala salaRemover = null;
                    foreach (Sala item in salas)
                    {
                        if (item != null && numeroSalaRemover.Equals(item.numeroSala))
                        {
                            salaRemover = item;
                            break;
                        }
                    }

                    if (salaRemover == null)
                    {
                        MostrarMensagem($"Sala {numeroSalaRemover} não encontrada", TipoMensagemEnum.ALERTA);
                    }

                    //FIXME: Como exibir as mensagens e cores diferentes
                    MostrarMensagem(salaRemover.AlocarAluno(alunoRemover.nnome), TipoMensagemEnum.DESTAQUE);
                    break;

                    #endregion
                    #region VERIFICAR_ALUNOS
                case 5:
                    foreach (var item in salas)
                    {
                        if (item != null)
                        {
                            System.Console.WriteLine("-----------------------------------------------------");
                            System.Console.WriteLine($"Número da sala: {item.numeroSala}");
                            System.Console.WriteLine($"Vagas disponíveis: {item.capacidadeAtual}");
                            System.Console.WriteLine($"Alunos: {item.ExibirAlunos()}");
                            System.Console.WriteLine("-----------------------------------------------------");
                        }
                    }

                    System.Console.WriteLine("Aperte ENTER para voltar ao menu principal");
                    Console.ReadLine();

                    break;

                    #endregion
                    #region VERIFICAR_SALAS
                case 6:
                    foreach (var item in alunos)
                    {
                        if (item != null)
                        {
                            System.Console.WriteLine("-----------------------------------------------------");
                            System.Console.WriteLine($"Nome do aluno: {item.nome}");
                            System.Console.WriteLine($"Curso: {item.curso}");
                            System.Console.WriteLine("-----------------------------------------------------");
                        }
                    }
                    System.Console.WriteLine("Aperte ENTER para voltar ao menu principal");
                    Console.ReadLine();
                    break;

                    #endregion
                    #region SAIR
                case 0:
                    Console.WriteLine("Obrigado pela atenção e volte sempre");
                    break;

                default:
                    break;
                    #endregion
                }
            } while (!querSair);
        }