Dada una
fecha, el programa dice el día de la semana al que corresponde.
#include
<iostream>
#include
<cstdlib>
#include
<cmath>
using
namespace std;
bool bisies
(int fecha);
int
bisiesant (int fecha2);
int main()
{
/* Declaración de variables */
int ano,dia;
int mes;
int total;
int i;
int sol;
/* Entrada de datos */
cout<<"Introduzca el año de la fecha que desee
estudiar"<<endl;
cin>>agno;
cout<<"Introduzca el numero del mes"<<endl;
cin>>mes;
cout<<"Introduzca el numero del dia"<<endl;
cin>>dia;
/* Procedimiento */
total=30*(mes-1);
total=total+dia;
if (mes>2)
{if (bisies(agno))
{total=total-1;}
else
{total=total-2;}}
if (mes<=7)
{total=total+mes/2;}
else
{total=total+4+(mes-7)/2;}
i=1900;
while (i<agno)
{
total=total+365;
i++;
}
total=total+bisiesant(agno);
sol=total%7;
/* Salida de resultados */
cout<<"La fecha introducida corresponde con un ";
switch (sol)
{
case 1:
{cout<<"lunes"<<endl;}
break;
case 2:
{cout<<"martes"<<endl;}
break;
case 3:
{cout<<"miercoles"<<endl;}
break;
case 4:
{cout<<"jueves"<<endl;}
break;
case 5:
{cout<<"viernes"<<endl;}
break;
case 6:
{cout<<"sabado"<<endl;}
break;
case 0:
{cout<<"domingo"<<endl;}
}
system("PAUSE");
return 0;
}
bool
bisies(int fecha)
{
bool bisiesto;
if ((fecha%100)==0)
{if ((fecha%400)==0)
{bisiesto=true;}
else
{bisiesto=false;}}
else
{if ((fecha%4)==0)
{bisiesto=true;}
else
{bisiesto=false;}}
return bisiesto;
}
int bisiesant(int
fecha2)
{
int j,k;
k=0;
j=1900;
while (j<fecha2)
{
if (bisies(j))
k++;
j++;
}
return k;
}