Está en la página 1de 4

Programa zodiaco

using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;

namespace Calcula_Edad
{
class Program
{
private static void Main(string[] args)
{
//Variables que usaremos para la fecha de nacimiento
int dia_nacimiento, mes_nacimiento, ao_nacimiento = 0;
Console.WriteLine("Escriba su nombre");
string nombre = Console.ReadLine();
Console.WriteLine("Hola {0}, bienvenido a mi aplicacion!", nombre);
Console.WriteLine("Por favor, introduce tu fecha de nacimiento:");
//El while solo termina cuando se hace break
while (true)
{
//Pedimos el dia y lo validamos
Console.Write("Dia de nacimiento: ");
dia_nacimiento = int.Parse(Console.ReadLine());
if (dia_nacimiento < 1 || dia_nacimiento > 31)
Console.WriteLine("Por favor, especifique un dia entre 1 y 31");
else
//Si el dia es valido, entonces pasamos a pedir el mes
break;
}
while (true)
{
//Pedimos el mes y lo validamos
Console.Write("Mes de nacimiento: ");
mes_nacimiento = int.Parse(Console.ReadLine());
if (mes_nacimiento < 1 || mes_nacimiento > 12)
Console.WriteLine("Por favor, especifique un mes entre 1 y 12");
else
break;
}
while (true)
{
//Pedimos el ao y lo validamos
Console.Write("Ao de nacimiento: ");
ao_nacimiento = int.Parse(Console.ReadLine());
//El ao no puede ser posterior a 1900 y anterior al ao actual
if (ao_nacimiento < 1900 || ao_nacimiento > DateTime.Now.Year)

Console.WriteLine("Por favor, especifique un ao entre 1900 y el {0}",


DateTime.Now.Year);
else
break;
}
//Si llegamos aqui, es porque tenemos una fecha correcta, vamos a calcular la edad
con
//el mtodo DameEdad() que escribimos antes
int edad = DameEdad(dia_nacimiento, mes_nacimiento, ao_nacimiento);
//string signo;
Console.WriteLine(nombre + ", -*************** " + edad + mes_nacimiento + "
aos.");
if (edad >= 25)
Console.WriteLine(nombre + ", -******usted tiene " + edad + "///////////" +
mes_nacimiento + " aos.");
switch (mes_nacimiento)
{
case 1: if (dia_nacimiento >= 21)
Console.WriteLine("ACUARIO");
if (dia_nacimiento <= 20)
Console.WriteLine("CAPRICORNIO");
break;
case 2: if (dia_nacimiento <= 19 )
Console.WriteLine("ACUARIO");
if (dia_nacimiento >= 20)
Console.WriteLine("PISCIS");
break;
case 3: if (dia_nacimiento >= 21)
Console.WriteLine("ARIES");
if (dia_nacimiento <= 20)
Console.WriteLine("PISCIS");
break;
case 4: if (dia_nacimiento <= 20)
Console.WriteLine("ARIES");
if (dia_nacimiento >= 21)
Console.WriteLine("TAURO");
break;
case 5: if(dia_nacimiento <= 21)
Console.WriteLine("TAURO");
if (dia_nacimiento >= 22)
Console.WriteLine("GEMINIS");
break;
case 6: if (dia_nacimiento <= 21)

Console.WriteLine("GEMINIS");
if (dia_nacimiento >= 21)
Console.WriteLine("CANCER");
break;
case 7: if (dia_nacimiento <= 23)
Console.WriteLine("CANCER");
if (dia_nacimiento >= 24)
Console.WriteLine("LEO");
break;
case 8: if (dia_nacimiento <= 23)
Console.WriteLine("LEO");
if (dia_nacimiento >= 24)
Console.WriteLine("VIRGO");
break;
case 9: if (dia_nacimiento <= 23)
Console.WriteLine("VIRGO");
if (dia_nacimiento >= 24)
Console.WriteLine("LIBRA");
break;
case 10: if (dia_nacimiento <= 23)
Console.WriteLine("LIBRA");
if (dia_nacimiento >= 24)
Console.WriteLine("ESCORPION");
break;
case 11: if (dia_nacimiento <= 22)
Console.WriteLine("ESCORPION");
if (dia_nacimiento >= 23)
Console.WriteLine("SAGITARIO");
break;

case 12: if (dia_nacimiento <= 21)


Console.WriteLine("SAGITARIO");
if (dia_nacimiento >= 22)
Console.WriteLine("CAPRICORNIO");
break;
default:
Console.WriteLine("mes invalido ");
break;
}

if (edad <= 17)


{
Console.WriteLine("eres muy jovencito para darte un consejo o mencionart tu
signo zodiacal, bye" + edad);
}

if (edad >= 24)


{
Console.WriteLine("eres un alumno dee preparatoria, no te aconsejo casarte" +
edad);

}
Console.WriteLine("Presione cualquier tecla para terminar el programa");
Console.ReadKey();

}
public static int DameEdad(int dia, int mes, int ao)
{
//Usamos la clase DateTime y un mtodo estatico para restar fechas
DateTime fecha_nacimiento = new DateTime(ao, mes, dia);
TimeSpan edad = DateTime.Now.Subtract(fecha_nacimiento);
return (edad.Days / 365);
}
}

También podría gustarte