Programa 10 de c# (Dia de la semana)

Programa para calcular el dia de la semana.

abrimos el visual studio y creamos un proyecto nuevo de tipo consola como se muestra en la siguiente imagen.

 click a la imagen para agrandar

ESTE ES EL CODIGO DEL PROGRAMA 
(esta echo con metodo)

class Program
{
static void Main()
{
while(true)
{
Console.WriteLine('\n'+"Escribe una fecha "+'\n'+"Escribe un numero menor q '0' para salir");
Console.Write("Dia: ");
int d = int.Parse(Console.ReadLine());
if(d<=0)  
break;
Console.Write("Mes: ");
int m = int.Parse(Console.ReadLine());
if(m<=0)
break;
Console.Write("Año: ");
int a = int.Parse(Console.ReadLine());
if(a<=0)
break;

string[] days = {"Domingo", "Lunes", "Martes",
"Miercoles", "Jueves", "Viernes", "Sabado"};
int dia= DayOfWeek(d,m,a);
Console.WriteLine("Ese dia es "+days[dia]);
}
}

public static int DayOfWeek(int day, int month, int year)
{
int[] mesCode = {0,6,2,2,5,0,3,5,1,4,6,2,4};
int result = year%100 + (year%100)/4 + day + mesCode[month];

if(year/100==17)
result += 5;
else if(year/100==18) result += 3;
else if(year/100==19) result += 1;
else if(year/100==20) result += 0;
else if(year/100==21) result += -2;
else if(year/100==22) result += -4;

if(EsBisiesto(year) && (month==1 || month==2))
result += -1;

return result%7;
}

private static bool EsBisiesto(int a)
{
return (a%4==0 && a%100!=0) || a%400==0;
}
}
}



EN ESTA IMAGEN SE MIRA UN EJEMPLO DEL PROGRAMA PREVIAMENTE TERMINADO

 click a la imagen para agrandar