7.3.. Napisati program za ispis broja dana u mjesecu, prema slijedećoj tabeli:

N a p o m e n a: Prestupna godina

  • djeljiva sa 400
  • djeljiva sa 4 (godina djeljiva sa 100 a ako nije djeljiva sa 400 nije prestupna)
    ((god % 4 == 0) && ( god % 100 != 0)) || (god % 400 == 0)

Opis rješenja: Program sadrži samo dio intervala provjere prestupnosti godina. Potpuna provjera je na kraju zadatka.

Listing programa:

#include <iostream>
using namespace std;
int main()
{
    int mjesec, god;
    cout << "* MJESECI *  " << endl;
    cout << "Redni broj mjeseca: ";
    cin >> mjesec;
    switch (mjesec)
    {
    case 1:                 // vise vrijednosti case: 1, 3, 5, 7, 8, 10, 12
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        cout << "31 dan";
        break;
    case 2:                 // februar
        cout << "godina: ";
        cin >> god;

        if (((god % 4 == 0) && ( god % 100 != 0)) || (god % 400 == 0))
            cout << "Godina je prestupna, 29 dana";
        else
            cout << "Godina nije prestupna, 28 dana";
        break;
    case 4:                // mjeseci 4, 6, 9, 11
    case 6:
    case 9:
    case 11:
        cout << "30 dan";
        break;
		
    default:			
        cout << "Unjeli ste pogresan broj, godina ima 12 mjeseci" << endl;

    }
    return 0;
}


II varijanta
//07311009
#include <iostream>
using namespace std;
int main()
{
    int mjesec, god;
    cout << "* MJESECI *  " << endl;
    cout << "Redni broj mjeseca:";
    cin>>mjesec;
    cout << "godina";
    cin>>god;
    switch (mjesec)
    {
    case 1:
        cout << "31";
        break;
    case 2:                 // februar
        cout << "godina: ";
        cin >> god;

        if (((god % 4 == 0) && ( god % 100 != 0)) || (god % 400 == 0))
            cout << "Godina je prestupna, 29 dana";
        else
            cout << "Godina nije prestupna, 28 dana";
        break;
    case 3:
        cout << "31 dan";
        break;
    case 4:
        cout << "30 dan";
        break;
    case 5:
        cout << "31 dan";
        break;
    case 6:
        cout << "30 dan";
        break;
    case 7:
        cout << "31 dan";
        break;
    case 8:
        cout << "31 dan" ;
        break;
    case 9:
        cout << "30 dan";
        break;
    case 10:
        cout << "31 dan";
        break;
    case 11:
        cout << "30 dan";
        break;
    case 12:
        cout << "31 dan";
        break;
    default:
        cout << "Greska" << endl;
    }
    
    return 0;
}

Ispis na ekranu:

Index