Saber dia de la semana de cualquier fecha C++ - Trucodigo

Saber dia de la semana de cualquier fecha C++



Hola trucodigueros en esta ocacion les traigo la forma de saber el dia de la semana de cualquier fecha que coloquemos, por ejemplo si colocamos 5/12/2 osea cinco de diciembre del año dos nos dara que fue miercoles o si colocamos 30/4/2590 nos dira que fue martes bueno sin mas les dejo el codigo.

Saludos.



#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
int E, Y, D, R, A, B, C, diamax, newD, bisiesto;

cout << "Ingrese la fecha:" <<endl <<endl;
cout << "Dia: ";
cin >> A;
cout << "Mes: ";
cin >> B;
cout << "Anio: ";
cin >> C;
cout << endl;
while (A>31 || A<1 || B<1 || B>12 || C<0)
{
cout << "La fecha no es correcta"<<endl<<endl;
system("pause");
system("cls");
cout << "Ingrese la fecha:" <<endl <<endl;
cout << "Dia: ";
cin >> A;
cout << "Mes: ";
cin >> B;
cout << "Anio: ";
cin >> C;
cout << endl;
}
switch ( B )
{
case 2:
if (C%400==0 || (C%4==0 && C%100!=0))
{
bisiesto=1;
diamax=29;
}
else
{
diamax=28;
bisiesto=0;
}
break;
case 4:
case 6:
case 9:
case 11: diamax=30;
break;
default: diamax=31;
break;
}
while (A>diamax)
{
cout << "La fecha no es correcta"<<endl<<endl;
system("pause");
system("cls");
cout << "Ingrese la fecha:" <<endl <<endl;
cout << "Dia: ";
cin >> A;
cout << "Mes: ";
cin >> B;
cout << "Anio: ";
cin >> C;
cout << endl;
while (A>31 || A<1 || B<1 || B>12 || C<0)
{
cout << "La fecha no es correcta"<<endl<<endl;
cout << "Dame una fecha valida:" <<endl <<endl;
cout << "Dia: ";
cin >> A;
cout << "Mes: ";
cin >> B;
cout << "Anio: ";
cin >> C;
cout << endl;
}
switch ( B )
{
case 2:
if (C%400==0 || (C%4==0&&C%100!=0))
{
bisiesto=1;
diamax=29;
}
else
{
diamax=28;
bisiesto=0;
}
break;
case 4:
case 6:
case 9:
case 11: diamax=30;
break;
default: diamax=31;
break;
}
}
if (C%400==0 || (C%4==0&&C%100!=0))
{
bisiesto=1;
}
else
{
bisiesto=0;
}
switch ( B )
{
case 1: newD=0;
break;
case 2: newD=31;
break;
case 3: newD=59+bisiesto;
break;
case 4: newD=90+bisiesto;
break;
case 5: newD=120+bisiesto;
break;
case 6: newD=151+bisiesto;
break;
case 7: newD=181+bisiesto;
break;
case 8: newD=212+bisiesto;
break;
case 9: newD=243+bisiesto;
break;
case 10: newD=273+bisiesto;
break;
case 11: newD=304+bisiesto;
break;
case 12: newD=334+bisiesto;
break;
}

D=newD+A;
E=(C-1)/4;
Y=D+C+E;
R=Y%7;
switch ( R )
{
case 0: cout<<"A la fecha *"<<A<<"/"<<B<<"/"<<C<<"* le corresponde viernes";
break;
case 1: cout<<"A la fecha *"<<A<<"/"<<B<<"/"<<C<<"* le corresponde sabado";
break;
case 2: cout<<"A la fecha *"<<A<<"/"<<B<<"/"<<C<<"* le corresponde domingo";
break;
case 3: cout<<"A la fecha *"<<A<<"/"<<B<<"/"<<C<<"* le corresponde lunes";
break;
case 4: cout<<"A la fecha *"<<A<<"/"<<B<<"/"<<C<<"* le corresponde martes";
break;
case 5: cout<<"A la fecha *"<<A<<"/"<<B<<"/"<<C<<"* le corresponde miercoles";
break;
case 6: cout<<"A la fecha *"<<A<<"/"<<B<<"/"<<C<<"* le corresponde jueves";
break;
}
cout<<endl;

system("pause");
return 0;
}



DEMO
Tags
Opciones
Estadísticas
Creado 03.01.2017 a las 01:57 hs
Categoría C++
  • 0
    Medallas
  • 0
    Favoritos
  • 982
    Visitas
  • 0
    Puntos
  • 0
    Seguidores
Posts relacionados
Comentarios
0
Cargando comentarios espera un momento...
No tienes permisos para comentar.

Para poder comentar necesitas estar Registrado. O.. ya tienes usuario? Logueate!
Patrocinador
Autor del post
Ver perfil de Omaredomex Omaredomex
Hombre Administrador  Mensaje
0 81 2
Medallas
No tiene medallas
Últimos visitantes