//Escribir un programa que muestre en pantalla el nombre del dia correspondiente a una fecha del siglo XX
//Nota: asumir el año bisiesto es multiplo de 4 a excepcion de 1900
//Anderson Ponciano
//02/06/2020
#include<iostream>
using namespace std;
int main()
{
    int d, m, a, dm, t, i;
    cout <<"Escriba fecha siguiendo este formato incluyendo espacios (dia mes año): ";  //años de dos digitos
    cin >> d >> m >> a;
    t = 365 * a + (a - 1) / 4; //dias hasta el año anterior
                            // desde 1900 (ej. 1903, incluye el año 1900, 1901, 1902: 3 años)
                            //y un dia por cada año bisiesto hasta el año anterior (ej. 1915, hasta el 14 tenemos: 1904, 1908, 1912 o sea 14/4 = 3.)
    for(i = 1; i<m; t += dm, i++) // dias hasta el mes anterior
    switch(i)
    {
        case 1 :
        case 3 :
        case 5 :
        case 7 :
        case 8 :
        case 10:
        case 12: dm = 31;
                break;
        case 4 :
        case 6 :
        case 9 :
        case 11: dm = 30;
                break;
        case 2 : if( a > 0 && a % 4 == 0 )
                        dm = 29;
            else
                        dm = 28;
    }
t+=d;       //dias hasta la fecha
t%=7;       //dias que sobran despues de reducir las semanas si 1 de enero fue lunes, el 7 del mismo mes
            //(t%7 == 0) sera domingo */
switch ( t )
{
    case 0: cout << "\nDomingo\n";
        break;
    case 1: cout << "\nLunes\n";
        break;
    case 2: cout << "\nMartes\n";
        break;
    case 3: cout << "\nMiercole\n";
        break;
    case 4: cout << "\nJueves\n";
        break;
    case 5: cout << "\nViernes\n";
        break;
    case 6: cout << "\nSabado\n";
        break;
}
cin.ignore();
cin.get();
return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: