Bueno, esta es una aplicacion en C++ para sacar el día de la semana de una fecha determinada
(entre los años 1900 y 2050)
Aclaracion: Los datos de entrada no son validados por la aplicacion (para no ser muy engorroso y largo el code).
Es por eso que éstos deben ser ingresados correctamente.

Código: Seleccionar todo

#include <stdio.h>
#include <iostream>
bool esbisiesto(int);
int main()

{
	using namespace std;

    enum dias {domingo=0,lunes,martes,miercoles,jueves,viernes,sabado};
    int ano1,mes1,dia1,ano2;
	
    dias dia;
	
	int comun []={0,3,3,6,1,4,6,2,5,0,3,5};
	int bisiesto []={0,3,4,0,2,5,0,3,6,1,4,6};

    cout << "ingrese año (1900 - 2050): ";
	cin >> ano1;
	cout << "ingreses mes (1 - 12)";
	cin >>mes1;
	cout << "ingreses dia (1 - 31)";
	cin >>dia1;

	
	
	if (esbisiesto(ano1))
		mes1=bisiesto[mes1-1];
	else
		mes1=comun[mes1-1];

	
    ano1-=1;
	ano2=(ano1/4-3*((ano1/100+1)/4));
	ano2=ano2%7;
	dia1=ano1%7 + ano2+mes1+(dia1%7);
	dia1=dia1%7;
	dia=dias(dia1);
    switch (dia)
	{
	case 1: cout <<"lunes";break;
	case 2: cout <<"martes";break;
	case 3: cout <<"miercoles";break;
	case 4: cout <<"jueves";break;
	case 5: cout <<"viernes";break;
	case 6: cout <<"sabado";break;
	case 0: cout <<"domingo";break;
	default: cout<<"error";break;
	}
	cout<<endl;
return 0;
}

bool esbisiesto(int ano)
{
if (ano%4==0 && ano%100!=0 || ano%400==0)
	return true;
return false;

}
Saludos itivre...
Imagen
Responder

Volver a “Fuentes”