コード例 #1
0
        // Em POO sempre procura trabalhar com abstração como a inteface ao inves de classe
        // Liguagem intermediaria que a plataforma .Net transforma o código se chama JIT
        static void Main(string[] args)
        {
            int           quantidadePessoa;
            List <Pessoa> pessoas = new List <Pessoa>();

            Console.WriteLine("Hello World");

            Console.WriteLine("Digite a quantidade de Pessoas");
            quantidadePessoa = int.Parse(Console.ReadLine());

            int i = 1;

            while (i <= quantidadePessoa)
            {
                Pessoa pessoa = new Pessoa();
                Console.WriteLine("Digite o nome da " + i + " pessoa");
                pessoa.Nome = Console.ReadLine();

                Console.WriteLine("Digite a data de Nascimento");
                pessoa.DataNascimento = Console.ReadLine();

                while (!Funcoes.ValidaData(pessoa.DataNascimento))
                {
                    Console.WriteLine("Data incorreta");
                    Console.WriteLine("Irá tentar novamente S/N?");
                    string resposta = Console.ReadLine().ToLower();
                    if (resposta != "s")
                    {
                        break;
                    }

                    Console.WriteLine("Digite a data de Nascimento");
                    pessoa.DataNascimento = Console.ReadLine();
                }

                if (Funcoes.ValidaData(pessoa.DataNascimento))
                {
                    Console.WriteLine("Pessoa Salva");
                    pessoas.Add(pessoa);
                }
                else
                {
                    Console.WriteLine("Pessoa não Salva");
                }

                i += 1;
            }

            foreach (Pessoa p in pessoas)
            {
                Console.WriteLine("A pessoa " + p.Nome);
                Console.WriteLine("Tem: " + p.CalculaIdade());
                Console.WriteLine("Signo da pessoa: " + p.NomeSigno());
            }

            Console.ReadKey();
        }
コード例 #2
0
        protected string NomeSigno(string data)
        {
            if (Funcoes.ValidaData(data))
            {
                string dataConvertida = Funcoes.SomenteNumeros(data);

                int ano = int.Parse(dataConvertida.Substring(4, 4));
                int mes = int.Parse(dataConvertida.Substring(2, 2));
                int dia = int.Parse(dataConvertida.Substring(0, 2));

                TipoSigno signo = Signos.FirstOrDefault(s => (dia >= s.DiaInicio && mes == s.MesInicio) || (dia <= s.DiaFim && mes == s.MesFim));

                return(signo.Nome ?? "Não existe um signo para essa data");
            }
            else
            {
                return("Data inválida");
            }
        }
コード例 #3
0
        public string CalculaIdade()
        {
            if (!Funcoes.ValidaData(DataNascimento))
            {
                return("Data inválida");
            }

            //var apenasNumeros = new Regex(@"[^\d]");
            //string dataConvertida = apenasNumeros.Replace(DataNascimento, "");

            string dataConvertida = Funcoes.SomenteNumeros(DataNascimento);

            DateTime dateAtual = DateTime.Now;

            int ano = int.Parse(dataConvertida.Substring(4, 4));
            int mes = int.Parse(dataConvertida.Substring(2, 2));
            int dia = int.Parse(dataConvertida.Substring(0, 2));

            if (ano <= dateAtual.Year)
            {
                if (dia == dateAtual.Day && mes == dateAtual.Month && ano == dateAtual.Year)
                {
                    return("Parece que nasceu hoje");
                }

                if (mes == dateAtual.Month && dia == dateAtual.Day)
                {
                    return("Parabéns, seu aniversário é hoje, você faz " + (dateAtual.Year - ano) + " anos");
                }

                if (mes > dateAtual.Month || (mes == dateAtual.Month && dia > dateAtual.Day))
                {
                    return((dateAtual.Year - ano - 1) + " anos");
                }
                else
                {
                    return((dateAtual.Year - ano) + " anos");
                }
            }

            return("Data não Calculável");
        }