static void Main(string[] args) { string opc = ""; Lista lista = new Lista(16000); int cod = 0; Contato dado; Pesquisa MP; do { Console.WriteLine("1 - Inserir Contato"); Console.WriteLine("2 - Remover Contato"); Console.WriteLine("3 - Imprimir ordenado por Nome"); Console.WriteLine("4 - Imprimir ordenado por Data de Nascimento"); Console.WriteLine("5 - Pesquisar pelo Código"); Console.WriteLine("6 - Pesquisar pelo Nome"); Console.WriteLine("7 - Pesquisar pela Data de Nascimento"); Console.WriteLine("8 - Pesquisar pelo Email"); Console.WriteLine("9 - Sair"); Console.Write("\nOpção => "); opc = Console.ReadLine(); switch (opc) { case "1": Contato x = new Contato(); x.Codigo = cod; Console.Write("Nome: "); x.Nome = Console.ReadLine(); Console.Write("Data de nascimento (??/??/????): "); DateTime data = DateTime.Parse(Console.ReadLine()); x.DataNascimento = data; Console.Write("Telefone: "); x.Telefone = Console.ReadLine(); Console.Write("Email: "); x.Email = Console.ReadLine(); lista.Inserir(x); cod++; break; case "2": Console.Write("Índice: "); int ind = int.Parse(Console.ReadLine()); Console.WriteLine("\nRemovido => " + lista.Remover(ind)); break; case "3": lista.ImprimirNome(); break; case "4": lista.ImprimirData(); break; case "5": MP = new Pesquisa(ref lista); Console.Write("Código para pesquisar: "); int cinco = int.Parse(Console.ReadLine()); dado = MP.PesquisaCod(cinco); if (dado != null) { Console.WriteLine("{0};{1};{2};{3};{4}", dado.Codigo, dado.Nome, dado.DataNascimento.ToShortDateString(), dado.Telefone, dado.Email); } else { Console.WriteLine("Não Encontrado!"); } break; case "6": MP = new Pesquisa(ref lista); Console.Write("Nome para pesquisar: "); string seis = Console.ReadLine(); dado = MP.PesquisaNome(seis); if (dado != null) { Console.WriteLine("{0};{1};{2};{3};{4}", dado.Codigo, dado.Nome, dado.DataNascimento.ToShortDateString(), dado.Telefone, dado.Email); } else { Console.WriteLine("Não Encontrado!"); } break; case "7": MP = new Pesquisa(ref lista); Console.Write("para pesquisar Data de nascimento (??/??/????): "); DateTime data6 = DateTime.Parse(Console.ReadLine()); dado = MP.PesquisaData(data6); if (dado != null) { Console.WriteLine("{0};{1};{2};{3};{4}", dado.Codigo, dado.Nome, dado.DataNascimento.ToShortDateString(), dado.Telefone, dado.Email); } else { Console.WriteLine("Não Encontrado!"); } break; case "8": MP = new Pesquisa(ref lista); Console.Write("Email para pesquisar: "); string oito = Console.ReadLine(); dado = MP.PesquisaEmail(oito); if (dado != null) { Console.WriteLine("{0};{1};{2};{3};{4}", dado.Codigo, dado.Nome, dado.DataNascimento.ToShortDateString(), dado.Telefone, dado.Email); } else { Console.WriteLine("Não Encontrado!"); } break; } Console.WriteLine("\n\nAperte Enter para continua..."); Console.ReadKey(); Console.Clear(); } while (opc != "9"); }
public Contato PesquisaEmail(string dado) { List.OrdenarEmail(); FileStream arquivo1 = new FileStream("Agenda3.txt", FileMode.Open); StreamReader ler = new StreamReader(arquivo1); string linha; string[] resultado; Contato[] MeusContatos = new Contato[1600]; int i = 0; do { linha = ler.ReadLine(); if (linha != null) { resultado = linha.Split(';'); Contato x = new Contato(); x.Codigo = int.Parse(resultado[0]); x.Nome = resultado[1]; //converte a data DateTime data = DateTime.Parse(resultado[2]); x.DataNascimento = data; x.Telefone = resultado[3]; x.Email = resultado[4]; MeusContatos[i] = x; i++; } } while (linha != null); arquivo1.Close(); int Inicio = 0; int Fim = i - 1; while (Inicio <= Fim) { int Meio = (Inicio + Fim); int v = MeusContatos[Meio].Email.CompareTo(dado); if (MeusContatos[Meio].Email == dado) { return(MeusContatos[Meio]); } if (v == 1) { Fim = Meio - 1; } else { Inicio = Meio + 1; } } return(null); }