Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Programa de fechas

Estas en el tema de Programa de fechas en el foro de C/C++ en Foros del Web. Escriba un programa que reciba una fecha, por ejemplo (Agosto 6 de 2014) y presente en pantalla el día de la semana que corresponde con ...
  #1 (permalink)  
Antiguo 19/10/2014, 15:46
 
Fecha de Ingreso: octubre-2014
Mensajes: 1
Antigüedad: 9 años, 6 meses
Puntos: 0
Programa de fechas

Escriba un programa que reciba una fecha, por ejemplo (Agosto 6 de 2014) y presente en pantalla el día de la semana que corresponde con esa fecha. La implementación utilizará las funciones indicadas en la Tabla 2.
Tabla 1. Resumen de las funciones para el ejercicio 13
bool isLeapYear(int year);
Esta función retorna un valor verdadero si el año es bisiesto y falso si el año no es bisiesto. Un posible pseudocódigo para esta función es:
int getCenturyValue(int year);
Esta función toma los dos primeros dígitos del año (es decir, el siglo), este dato es dividido entre 4 y se almacena el residuo de la división. Posteriormente, se calcula la resta entre 3 y el residuo almacenado y el valor resultante es multiplicado por 2. Por ejemplo, el año 2013 se convierte en 20/4=5 con un residuo de cero. Luego, 3-0=3 y el retorno será 3x2=6.
int getYearValue(int year);
Esta función calcula un valor basado en los años que han transcurrido desde el inicio del siglo. Inicialmente, extrae los dos últimos dígitos del año (por ejemplo, extrae 08 de 2008). Luego, el valor extraído es dividido entre 4 y se descarta el residuo de la división (por ejemplo, 08/4=2). Posteriormente se retorna la suma de los dos últimos resultados (por ejemplo, 8+2=10)
Int getMonthValue(int month, int year)
Esta función retorna un valor con base en la Figura x y precisa del llamado de la función isLeapYear
Finalmente, para calcular el día de la semana se realiza la suma entre:
 Días indicados en la fecha
 Valores retornados por getMonthValue
 Valores retornados por getYearValue
 Valores retornados por getCenturyValue
El resultado de la suma es dividido entre 7 y se almacena el residuo. Un residuo de cero corresponde con el día Domingo, un residuo de uno corresponde con el día Lunes, etc. Residuos mayores a 6 corresponderán a Sábado.
La fecha Julio 4 de 2008 deberá ser procesada como (día del mes) + (getMonthValue) + (getYearValue)+ (getCenturyValue)=4+6+10+6=26. Luego 26/7=3 con un residuo de 5. El día 5 corresponde a viernes.
Su programa debe incluir una función getInput que solicite y capture los datos del usuario, específicamente mes, día y año. Esta función debe ser implementada con paso por referencia. El usuario puede ingresar los meses utilizando números decimales (1-12).

Etiquetas: funcion, int, meses, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:45.