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

Program przeliczający ilość dni między 2 datami.

Ostatnio zmodyfikowano 2018-11-08 16:57
Autor Wiadomość
Damian_Wasiak
Temat założony przez niniejszego użytkownika
Program przeliczający ilość dni między 2 datami.
» 2018-11-08 11:54:25
Witam mam do napisania program który poda różnicę dni między zetawem dwóch dat podanych przez uzytkownika,
lecz napotkałem problem że funkcja sekundy() nie przelicza mi prawidłowo na sekundy podanej daty i zwraca wartość -1 lub w niektórych przypadkach jakąś wartość na - .
Program musi mniej więcej posiadać taką strukturę oraz nazwy zmiennych według wytycznych które zostały mi podane, gdyż potem w funkcji dodaj_dzien() będą dodane warunki które bd zabezpieczały przed podaniem zlych danych np w roku przestepnym.

C/C++
#include<iostream>
#include <time.h>
using namespace std;
int T[ 6 ];
int sekundy( int r, int m, int d, int g, int min, int s )
{
    tm czas;
    czas.tm_year = r;
    czas.tm_mon = m;
    czas.tm_mday = d;
    czas.tm_hour = g;
    czas.tm_min = min;
    czas.tm_sec = s;
    time_t sekundy = mktime( & czas );
    return sekundy;
}

int * dodaj_dzien()
{ int * wsk;
    int r, m, d, g, min, s;
    cin >> r >> m >> d >> g >> min >> s;
    T[ 0 ] = r;
    T[ 1 ] = m;
    T[ 2 ] = d;
    T[ 3 ] = g;
    T[ 4 ] = min;
    T[ 5 ] = s;
    wsk = T;
    return wsk;
}


main()
{
    int D;
    int * T1, * T2;
    cin >> D;
    for( int i = 0; i < D; i++ )
    {
        T1 = dodaj_dzien();
        T2 = dodaj_dzien();
        cout << sekundy( T1[ 0 ], T1[ 1 ], T1[ 2 ], T1[ 3 ], T1[ 4 ], T1[ 5 ] ) << endl;
        cout << sekundy( T2[ 0 ], T2[ 1 ], T2[ 2 ], T2[ 3 ], T2[ 4 ], T2[ 5 ] ) << endl;
    }
   
   
}

P-172785
pekfos
» 2018-11-08 16:57:04
Podajesz w ogóle poprawne wartości do mktime()? Nie możesz na przykład podać roku 2018 jako po prostu 2018.

C/C++
T1 = dodaj_dzien();
T2 = dodaj_dzien();
cout << sekundy( T1[ 0 ], T1[ 1 ], T1[ 2 ], T1[ 3 ], T1[ 4 ], T1[ 5 ] ) << endl;
cout << sekundy( T2[ 0 ], T2[ 1 ], T2[ 2 ], T2[ 3 ], T2[ 4 ], T2[ 5 ] ) << endl;
Te twoje T1 i T2 to ta sama tablica.
P-172786
« 1 »
  Strona 1 z 1