online: 6; azi: 1023; total: 53029 Manual clasa a x a - Implementarea structurilor de date - Inregistrarea

Manual clasa a X a

Implementarea structurilor de date

Inregistrarea

Se citesc de la tastatură două date calendaristice. Să se afişeze care dată este mai recentă şi diferenţa în zile dintre cele două date.
# include < iostream >
using namespace std ;
struct data {
int zi;
int luna;
int an;
};
int main () {
data d1, d2;
cout << " Introduceti prima data (zi luna an): " ;
cin >> d1.zi >> d1.luna >> d1.an;
cout << " Introduceti a doua data (zi luna an): " ;
cin >> d2.zi >> d2.luna >> d2.an;
int zile1 = d1.zi + (d1.luna - 1 ) * 30 + (d1.an - 1900 ) * 365 ;
int zile2 = d2.zi + (d2.luna - 1 ) * 30 + (d2.an - 1900 ) * 365 ;
if (zile1 > zile2) {
cout << "Prima data este mai recenta\n" ;
cout << " Diferenta in zile este: " << zile1 - zile2 << endl ;
} else if (zile2 > zile1) {
cout << "A doua data este mai recenta\n" ;
cout << " Diferenta in zile este: " << zile2 - zile1 << endl ;
} else {
cout << "Cele doua date sunt egale\n" ;
}
return 0 ;
}

Programul calculează numărul de zile de la data de referință 01/01/1900 până la fiecare dintre cele două date și le compară pentru a determina care este mai recentă. Diferența dintre cele două date în zile este calculată prin scăderea acestor două valori. Este important să observăm că acest program nu ține cont de anii bisecți, astfel încât diferența în zile poate să nu fie exactă în anumite cazuri.