[C++] Porównywanie dwóch dat
Ostatnio zmodyfikowano 2015-01-07 14:21
Myraa Temat założony przez niniejszego użytkownika |
[C++] Porównywanie dwóch dat » 2015-01-07 12:34:42 Witam! Muszę napisać program, w którym użytkownik podaje datę urodzenia, a program sprawdza czy będzie on obchodził urodziny w ciągu najbliższych 7 dni. Szukałem już na forum i w kursie, ale niewiele informacji znalazłem na ten temat. Jest jakaś struktura, lub coś w tym stylu, żeby można było wczytać datę, wczytać obecną datę i porównać je? Z góry dziękuję za pomoc. ;) |
|
darko202 |
» 2015-01-07 13:03:57 |
|
Myraa Temat założony przez niniejszego użytkownika |
» 2015-01-07 13:51:22 Z tej strony zrobiłem pobieranie aktualnej daty. Ale nic nie zauważyłem na temat odliczania dni. Trzeba to zrobić uwzględniając ilość dni miesiąca i jeśli się skończy jeden miesiąc to odejmować od drugiego, czy jest coś jakiś prostszy sposób? |
|
Myraa Temat założony przez niniejszego użytkownika |
» 2015-01-07 14:21:53 Zrobiłem to ręcznie. Wysyłam kod jakby ktoś potrzebował czegoś podobnego. :) Można jeszcze by dodać w switch w case 2 sprawdzanie czy rok jest przestępny, czy nie, ale to już drobna poprawka. ;) time_t aktualny_czas = time( 0 ); tm * czas = localtime( & aktualny_czas ); int dzien, miesiac, l_dni;
int akt_rok = 1900 + czas->tm_year; int akt_mies = 1 + czas->tm_mon; int akt_dz = czas->tm_mday;
cout << "Aktualna data:\t" << akt_dz << "-" << akt_mies << "-" << akt_rok << endl;
cout << "Podaj dzien: "; cin >> dzien; cout << "\nPodaj miesiac: "; cin >> miesiac;
switch( miesiac ) { case 1: { l_dni = 31; break; } case 2: { l_dni = 28; break; } case 3: { l_dni = 31; break; } case 4: { l_dni = 30; break; } case 5: { l_dni = 31; break; } case 6: { l_dni = 30; break; } case 7: { l_dni = 31; break; } case 8: { l_dni = 31; break; } case 9: { l_dni = 30; break; } case 10: { l_dni = 31; break; } case 11: { l_dni = 30; break; } case 12: { l_dni = 31; break; } default: { cout << "Nie ma takiego miesiaca!\n"; system( "PAUSE" ); exit( 0 ); } }
if( miesiac == akt_mies and dzien > akt_dz and dzien - akt_dz <= 7 ) cout << "\nW przeciagu tygodnia beda twoje urodziny!";
if( miesiac > akt_mies and miesiac - akt_mies == 1 and dzien + l_dni - akt_dz <= 7 ) cout << "\nW przeciagu tygodnia beda twoje urodziny!";
if( akt_mies == 12 and miesiac == 1 and dzien + l_dni - akt_dz <= 7 ) cout << "\nW przeciagu tygodnia beda twoje urodziny!";
|
|
« 1 » |