Exemple #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("===============================================");
            Console.WriteLine("===============AGENDA TELEFONICA===============");
            Console.WriteLine("===============================================");

            Console.WriteLine();

            Console.WriteLine("Qual a operacao que deseja realizar? ");
            Console.WriteLine("1. Adicionar contato");
            Console.WriteLine("2. Editar contato");
            Console.WriteLine("3. Excluir contato");
            Console.WriteLine("4. Exibir contatos");
            Console.WriteLine("5. Sair");

            Console.Write("\nOperação: ");
            int operacao = int.Parse(Console.ReadLine());

            //Criando vetor limitando a 50 contatos
            Agenda[] contatos = new Agenda[10];

            string nome      = "";
            string sobrenome = "";
            long   celular   = 0;
            string email     = "";


            //indice contatos adicionados
            int nr_contato = 0;

            while (true)
            {
                if (operacao >= 6)
                {
                    while (operacao >= 6)
                    {
                        Console.WriteLine("Informe uma opção válida");
                        Console.Write("Operação: ");
                        operacao = int.Parse(Console.ReadLine());
                    }
                }

                //Adicionando contato
                else if (operacao == 1)
                {
                    Console.WriteLine("Informe os seguintes dados: ");
                    Console.Write("Nome: ");
                    nome = Console.ReadLine();
                    Console.Write("Sobrenome: ");
                    sobrenome = Console.ReadLine();
                    Console.Write("Celular: ");
                    celular = long.Parse(Console.ReadLine());

                    Console.Write("Deseja informar o E-mail? ");
                    string sn_email = (Console.ReadLine());

                    if (sn_email.ToUpper() == 'S'.ToString())
                    {
                        Console.Write("Email: ");
                        email = Console.ReadLine();

                        contatos[nr_contato] = new Agenda(nome.ToUpper(), sobrenome.ToUpper(), celular, email);
                    }
                    else
                    {
                        contatos[nr_contato] = new Agenda(nome.ToUpper(), sobrenome.ToUpper(), celular);
                    }

                    nr_contato += 1;
                }

                //Editando contato
                else if (operacao == 2)
                {
                    Console.Write("Qual contato você deseja editar? ");
                    string nome_edicao = Console.ReadLine();

                    for (int i = 0; i < 10; i++)
                    {
                        if (contatos[i] != null)
                        {
                            if (contatos[i].Nome == nome_edicao.ToUpper())
                            {
                                Console.WriteLine();
                                Console.WriteLine("Deseja editar qual campo: \n(1) Nome\n(2) Sobrenome\n(3) Celular\n(4) Email");
                                int campo_edicao = int.Parse(Console.ReadLine());
                                Console.WriteLine();

                                Console.Write("Novo Valor: ");
                                string new_value = Console.ReadLine();

                                if (campo_edicao == 1)
                                {
                                    contatos[i].Nome = new_value;
                                }

                                else if (campo_edicao == 2)
                                {
                                    contatos[i].Sobrenome = new_value;
                                }

                                else if (campo_edicao == 3)
                                {
                                    contatos[i].Celular = (long)Convert.ToDouble(new_value);
                                }

                                else if (campo_edicao == 4)
                                {
                                    contatos[i].Email = new_value;
                                }

                                Console.WriteLine();

                                Console.WriteLine("Exibindo contato editado: ");
                                Console.WriteLine("Contato #" + (i + 1) + ":\n"
                                                  + "Nome: " + contatos[i].Nome + "\n"
                                                  + "Sobrenome: " + contatos[i].Sobrenome + "\n"
                                                  + "Celular: " + contatos[i].Celular + "\n"
                                                  + "Email: " + contatos[i].Email + "\n"
                                                  );
                            }
                        }
                    }
                }

                //Excluindo contato
                else if (operacao == 3)
                {
                    Console.Write("Qual contato você deseja excluir? ");
                    string nome_exclusao = Console.ReadLine();

                    for (int i = 0; i < 10; i++)
                    {
                        if (contatos[i] != null)
                        {
                            if (contatos[i].Nome == nome_exclusao.ToUpper())
                            {
                                Console.WriteLine();
                                Console.WriteLine("Excluindo contato.");
                                contatos[i] = null;
                            }
                        }
                    }
                }

                //Exibindo contato
                else if (operacao == 4)
                {
                    Console.WriteLine();
                    Console.WriteLine("=-==-==-==-==-==-==-==-==-==-=");
                    Console.WriteLine("Exibindo contatos: ");
                    Console.WriteLine("=-==-==-==-==-==-==-==-==-==-=");

                    for (int i = 0; i < 10; i++)
                    {
                        if (contatos[i] != null)
                        {
                            Console.WriteLine("Contato #" + (i + 1) + ":\n"
                                              + "Nome: " + contatos[i].Nome + "\n"
                                              + "Sobrenome: " + contatos[i].Sobrenome + "\n"
                                              + "Celular: " + contatos[i].Celular + "\n"
                                              + "Email: " + contatos[i].Email + "\n"
                                              );
                        }
                    }
                }

                //Saindo da agenda
                else if (operacao == 5)
                {
                    Console.WriteLine("Fechando agenda telefônica...");
                    break;
                }

                Console.WriteLine();
                Console.WriteLine("Deseja realizar mais alguma operacao? ");
                Console.WriteLine("1. Adicionar contato");
                Console.WriteLine("2. Editar contato");
                Console.WriteLine("3. Excluir contato");
                Console.WriteLine("4. Exibir contatos");
                Console.WriteLine("5. Sair");
                Console.Write("\nOperação: ");
                operacao = int.Parse(Console.ReadLine());
                Console.WriteLine();
            }
        }
        static void Main(string[] args)
        {
            /*
             * Uma simples agenda telefônica, com nome, telefone, email e talvez alguns dados a mais.
             * O usuário acessa/instala e seus dados ficam salvos
             * Deve ser possível realizar buscas.
             */

            List <Agenda> list = new List <Agenda>();

            Agenda valor;
            Agenda agenda = new Agenda();

            int quant = 0;
            int i;

            Console.WriteLine("\t\t\t\t=====================================================\n");
            Console.WriteLine("\t\t\t\t==================AGENDA TELEFÔNICA==================\n");
            Console.WriteLine("\t\t\t\t Cadastrar Novo Contato                         - [1]\n");
            Console.WriteLine("\t\t\t\t Buscar Contato                                 - [2]\n");
            Console.WriteLine("\t\t\t\t Contatos Cadastrados                           - [3]\n");
            Console.WriteLine("\t\t\t\t Remover Contatos                               - [4]\n");
            Console.WriteLine("\t\t\t\t Sair                                           - [0]\n");
            Console.WriteLine("\t\t\t\t=====================================================\n");
            Console.Write("\t\t\t\t          Entre com a opção desejada: ");
            int op = int.Parse(Console.ReadLine());



            valor = new Agenda(op);

            while (valor.Opcao != 0)
            {
                if (valor.Opcao == 1)
                {
                    //Inserção de contatos
                    Console.Write("\n\t\t\t\tInforme quantos contatos deseja cadastrar: ");
                    quant = int.Parse(Console.ReadLine());

                    for (i = 0; i < quant; i++)
                    {
                        Console.WriteLine("\n\n\t\t\t\tCadastro de novo contato:");
                        Console.Write("\t\t\t\tInforme um ID para este contato: ");
                        int id = int.Parse(Console.ReadLine());
                        agenda.Id = id;
                        Console.Write("\t\t\t\tInforme o nome: ");
                        string nome = Console.ReadLine();
                        Console.Write("\t\t\t\tTelefone: ");
                        string telefone = Console.ReadLine();
                        Console.Write("\t\t\t\tEmail: ");
                        string email = Console.ReadLine();

                        Console.Write("\n\t\t\t\tConfimar? ");
                        string resp = Console.ReadLine();

                        if (resp == "s" || resp == "S")
                        {
                            list.Add(new Agenda(agenda.Id, nome, telefone, email));
                            Console.WriteLine("\t\t\t\tContato cadastrado com sucesso!\n\n");
                        }
                        else if (resp == "n" || resp == "N")
                        {
                            Console.WriteLine("\n\t\t\t\tInforamções corrigidas do contato:");
                            Console.Write("\t\t\t\tID: ");
                            int idCorrigido = int.Parse(Console.ReadLine());
                            agenda.Id = idCorrigido;
                            Console.Write("\t\t\t\tNome: ");
                            nome = Console.ReadLine();
                            Console.Write("\t\t\t\tTelefone: ");
                            telefone = Console.ReadLine();
                            Console.Write("\t\t\t\tEmail: \n");
                            email = Console.ReadLine();

                            list.Add(new Agenda(agenda.Id, nome, telefone, email));
                        }
                        else
                        {
                            Console.WriteLine("\t\t\t\tResponda apenas com 's' ou 'n'. \n");
                            Console.Write("\n\t\t\t\tConfimar? ");
                            resp        = Console.ReadLine();
                            valor.Opcao = 1;
                        }
                    }
                }

                if (valor.Opcao == 2)
                {
                    //Consultar unico contato
                    bool isEmpty = !list.Any(); //verifica se a lista é vazia

                    if (isEmpty)
                    {
                        Console.WriteLine("\n\t\t\t\tLista vazia!");
                    }
                    else
                    {
                        Console.WriteLine("\n\t\t\t\tBuscar contato: ");
                        Console.Write("\t\t\t\tInforme o ID do contato:");
                        int?searchId = int.Parse(Console.ReadLine());

                        Agenda searchContato = list.Find(x => x.ID == searchId);

                        if (searchContato != null)
                        {
                            Console.WriteLine($"\n\t\t\t\t{searchContato}\n");
                        }
                        else
                        {
                            Console.WriteLine("\n\t\t\t\tID não existe!");
                            searchId = null;
                            Console.Write("\n\t\t\t\tInforme outro ID valido: ");
                            searchId = int.Parse(Console.ReadLine());

                            if (searchId < 0)
                            {
                                Console.WriteLine("\n\t\t\t\tID não existe!");
                            }
                            else
                            {
                                searchContato = list.Find(z => z.ID == searchId);
                                Console.WriteLine($"\n\t\t\t\t{searchContato}");
                            }
                        }
                    }
                }
                else if (valor.Opcao == 3)
                {
                    //Consultar todos os contatos
                    bool isEmpty = !list.Any(); //verifica se a lista é vazia

                    if (isEmpty)
                    {
                        Console.WriteLine("\n\t\t\t\tLista vazia!\n");
                    }
                    else
                    {
                        Console.WriteLine("\n\t\t\t\tContatos cadastrados: ");

                        for (i = 0; i < list.Count; i++)
                        {
                            Console.WriteLine($"\t\t\t\t#{i+1} - {list[i]}\n");
                        }
                    }
                }
                else if (valor.Opcao == 4)
                {
                    //Deleção de contatos
                    bool isEmpty = !list.Any(); //verifica se a lista é vazia

                    if (isEmpty)
                    {
                        Console.WriteLine("\n\t\t\t\tLista vazia!");
                    }
                    else
                    {
                        Console.Write("\n\t\t\t\tInforme quantos contatos deseja deletar: ");
                        int del = int.Parse(Console.ReadLine());

                        if (del == 1)
                        {
                            Console.Write("\n\t\t\t\tInforme o ID do contato:");
                            int searchId = int.Parse(Console.ReadLine());

                            list.RemoveAll(x => x.ID == searchId);

                            Console.WriteLine("\n\t\t\t\tContato deletado com sucesso!\n");
                        }
                        else if (del > 1)
                        {
                            for (i = 0; i < del; i++)
                            {
                                Console.Write("\n\t\t\t\tInforme o ID do contato:");
                                int searchId = int.Parse(Console.ReadLine());

                                list.RemoveAll(y => y.ID == searchId);

                                Console.WriteLine("\n\t\t\t\tContato deletado com sucesso!\n");
                            }
                        }
                    }
                }
                else if (valor.Opcao > 4 || valor.Opcao < 0)
                {
                    Console.WriteLine("\n\n\t\t\t\t\t\tOpção Inválida!\n\n");
                }

                Console.WriteLine("\t\t\t\t=====================================================\n");
                Console.WriteLine("\t\t\t\t==================AGENDA TELEFÔNICA==================\n");
                Console.WriteLine("\t\t\t\t Cadastrar Novo Contato                         - [1]\n");
                Console.WriteLine("\t\t\t\t Buscar Contato                                 - [2]\n");
                Console.WriteLine("\t\t\t\t Contatos Cadastrados                           - [3]\n");
                Console.WriteLine("\t\t\t\t Remover Contatos                               - [4]\n");
                Console.WriteLine("\t\t\t\t Sair                                           - [0]\n");
                Console.WriteLine("\t\t\t\t=====================================================\n");
                Console.Write("\t\t\t\t          Entre com a opção desejada: ");
                op    = int.Parse(Console.ReadLine());
                valor = new Agenda(op);
            }

            Console.WriteLine("\n\t\t\t\tPrograma finalizado! ");
            Console.WriteLine("\t\t\t\tObrigado!!!");
        }