Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Porównywanie dwóch dat

Ostatnio zmodyfikowano 2015-01-07 14:21
Autor Wiadomość
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. ;)
P-124382
darko202
» 2015-01-07 13:03:57
P-124384
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?
P-124388
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. ;)

C/C++
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!";

P-124392
« 1 »
  Strona 1 z 1