Necesito algun genio de la informatica

patriota
12 de Enero del 2009
Hla. Necesito ayuda con un programita que necesito acer pero no se como va la programacion en c. El programa es muy sencillo, simplemente le metes una fecha y te dice el dia de la semana que cae.
Pero debe de ser con estas restricciones:
El algoritmo consiste en calcular ciertos coeficientes a partir de la fecha (día, mes y año) y efectuar ciertos cálculos con ellos para quedarnos con un número entre 0 y 6. Después sabiendo qué número es el que corresponde a cada día conseguiremos resolver el problema.

Vamos a explicar el método llevando a la vez un ejemplo: pongamos por día el 1 de Mayo de 2007, que de antemano os digo que es martes:

1.- El siglo: El primer coeficiente que necesitamos, llamémosle A, lo conseguimos con el siglo al que pertenece el año de la fecha siguiendo esta tabla:


1700…1799 1800…1899 1900…1999 2000…2099 2100…2199 2200…2299
+5 +3 +1 0 -2 -4

En nuestro ejemplo obtenemos que A = 0

2.- Año: Tomamos los dos últimos dígitos del año en cuestión y a ese número de dos cifras le sumamos un cuarto del mismo (despreciando los decimales). Eso nos proporciona el segundo coeficiente, digamos B.

En nuestro caso: 7/4 = 1′75. Despreciamos los decimales y nos queda 1. Como los dos últimos dígitos son 07 tenemos que B = 8.

3.- Años bisiestos: Éstos son los que cumplen que sus dos últimas cifras forman un múltiplo de 4 (por ejemplo, 1992 o 2004) excepto los terminados en 00. Entre estos últimos sólo son bisiestos los múltiplos de cuatrocientos (por ejemplo 2000). Nuestro tercer coeficiente, C depende de ellos: si el año es bisiesto, y el mes es enero o febrero el coeficiente será C = –1. En cualquier otro caso C = 0.

En nuestro ejemplo, como 2007 no es bisiesto tenemos que C = 0.

4.- Mes: El cuarto coeficiente, D, nos lo da la siguiente tabla:


Enero Feb. Marzo Abril Mayo Junio Julio Agosto Sept. Oct. Nov. Dic.
6 2 2 5 0 3 5 1 4 6 2 4

En nuestro ejemplo, como el mes es mayo, tenemos que D = 0.

5.- Día: El quinto coeficiente, E, es simplemente el día en cuestión. En este caso E = 1.

6.- Algoritmo: Tomamos todos los coeficientes calculados y los sumamos. Y después calculamos el resto módulo 7 del número que obtenemos. Eso lo podemos hacer restando 7 al resultado tantas veces como sea necesario hasta obtener un número entre 0 y 6 que llamaremos R.

En nuestro ejemplo:
A + B + C + D + E = 0 + 8 + 0 + 0 + 1 = 9
9 - 7 = 2

Por tanto R = 2

7.- Resultado: La asignación de números a cada día de la semana es la siguiente:


Lunes Martes Miércoles Jueves Viernes Sábado Domingo
1 2 3 4 5 6 0

Por tanto, como en nuestro ejemplo R = 2 tenemos que:
EL 1 DE MAYO DE 2007 FUE MARTES
como en realidad ocurre.

SI ALGUN GENIO DE LA INFORMATICA ME PUDIERA AYUDAR... ESQUE YO NO TENGO CONOCIMIENTOS SUFICIENTES PARA CONOCER EL LENGUA EN C

GRACIAS