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!!!"); }