Esempio n. 1
0
        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");
        }
Esempio n. 2
0
        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);
        }