• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odliczanie dni C++

Object Storage Arubacloud
0 głosów
311 wizyt
pytanie zadane 28 listopada 2022 w C i C++ przez benny13 Obywatel (1,150 p.)

Witam, potrzebuję stworzyć klasę, która będzie reprezentować dane pracownika (imię, nazwisko, wiek, wysokość pensji), ponadto ma zawierać informacje o dacie zatrudnienia (tutaj pojawił się już problem, gdyż nie wiem, jak stworzyć pole z datą). Jeżeli od zatrudnienia pracownika minął co najmniej rok, to program przyznaje mu 10% podwyżki. Jak zrobić pole z datą zatrudnienia oraz jak potem zliczyć, ile dni upłynęło od zatrudnienia do dnia dzisiejszego? W argumencie metody może być obecna aktualna data. Niestety nie wiem, jak zabrać się do tego zadania, do tej pory napisałem tyle:

class pracownik {
 
    string imie;
    string nazwisko;
    int pensja;
};

 

1
komentarz 29 listopada 2022 przez Oscar Nałogowiec (29,290 p.)

Tak ogólnie to nie przechowuj wieku tylko date urodzenia.

W starym C były dwa sposoby przechowywania "momentu w czasie". Jeden polegał na pamiętaniu liczby sekund od określonego momentu w przeszlości. Reprezentowany jest jako type time_t i funkcję time. To w sumie zwykly long, czas jest przechowywany liniowo i można robić proste operacje - dodawać i odejmować czasy i odcinki czasu. Tyle tylko, że to są wielkie liczby, teraz jest coś około 1669676611 sekund od startu czasu, godzina to 3600 sekund. Druga uwaga - to się liczy w GMT.

Drugą postać reprentuje struch tm. Tam czas jest rozbity według kalendarza, na lata, miesiące, dni, hodziny itp. Ale uwaga - rok jest liczony od 1900 - teraz jest rok 122 - by to się wszystko mieściło na 8-bitowych liczbach. Do przeliczeń z jednej postaci na drugą służa funkcje localtime/gmtime - (trochę są dziwne, bezpieczniejsze są funkcję z końcówką _s) z time_t na struct tm, oraz maketime - odwrotnie.

Od którejs wersji C++ jest to już właczone do przestrzeni std::, ale ciągle działa jak dawniej.

 

1
komentarz 29 listopada 2022 przez j23 Mędrzec (194,920 p.)

@Oscar, OP dostał już w innym wątku podobną odpowiedź, ale chyba czeka na gotowca.

komentarz 29 listopada 2022 przez benny13 Obywatel (1,150 p.)

@Oscar, Dziękuję, dostałem podobną ale niestety mimo tego nie poradziłem sobie z tym zadaniem, dlatego założyłem nowy temat, chociaż teraz wiem, że lepiej byłoby jakbym napisał komentarz pod tamtym.

1 odpowiedź

0 głosów
odpowiedź 30 listopada 2022 przez TOWaD Mądrala (5,700 p.)
wybrane 28 grudnia 2022 przez benny13
 
Najlepsza

Tu taki gotowiec, nie gotowiec, bo osobiście nie chciało by mi się analizować czyjegoś kodu dużo łatwiej/przyjemniej napisać własny.

Edit Oczywiście można/trzeba dużo rzeczy zmienić w tym gotowcu.

Podobne pytania

0 głosów
1 odpowiedź 289 wizyt
pytanie zadane 18 stycznia 2022 w C i C++ przez Fluxik Nowicjusz (240 p.)
0 głosów
1 odpowiedź 267 wizyt
pytanie zadane 12 lipca 2022 w C i C++ przez cpp_lover Początkujący (290 p.)
0 głosów
0 odpowiedzi 220 wizyt
pytanie zadane 8 maja 2022 w C i C++ przez Bollo Początkujący (460 p.)

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...