Jak mając tm_year, tm_mon oraz tm_mday uzywskać konkretny dzień owego roku?

0

Hej,

Za zadanie mam, aby mając dane ze standardowego wejścia w formacie YYYY MM DD, które zapiszę w strukturze tm, wypisać na standardowe wyjście wynik obliczony przy pomocy funkcji zawartej w time.h, który to konkretnie jest dzień roku, licząc od 1. stycznia np. 2019 05 26 to 146. dzień roku.

Aktualnie zatrzymuję się na etapie, gdzie dane z wejścia przekształcam do formatu odpowiedniego dla struktury tm.

#include <stdio.h>    
#include <time.h>   

int main ()
{
    struct tm data;
    scanf("%i %i %i", &data.tm_year, &data.tm_mon, &data.tm_mday);
    data.tm_mon--;
    data.tm_year-=1900;
    char buffer [80]; 


    puts (buffer);
return 0;

Z tego co się zdołałem dowiedzieć to najlepsze do tego byłoby wykorzystanie funkcji strftime z formatowaniem %j i to ją próbowałem zastosować w widocznej przerwie, ale coś mi nie wychodzi. W związku z tym proszę o pomoc.

1

http://www.cplusplus.com/reference/ctime/mktime/

A call to this function automatically adjusts the values of the members of timeptr if they are off-range or -in the case of tm_wday and tm_yday- if they have values that do not match the date described by the other members.

1 użytkowników online, w tym zalogowanych: 0, gości: 1