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

biblioteka time.h / difftime()

Ostatnio zmodyfikowano 2010-07-25 17:56
Autor Wiadomość
skolukmar
Temat założony przez niniejszego użytkownika
biblioteka time.h / difftime()
» 2010-07-24 12:39:18
Mam taki problem:
W jaki sposób obliczyć ilość dni, jeśli mam zainicjowane zmienne data, początek jako:

C/C++
struct tm * data, * poczatek;
...
int ilosc_dni = difftime( data, poczatek )
// błąd ponieważ argumentami difftime() są zmienne typu time_t
Jak to obejść ? Prosiłbym Was o pomoc.
P-20126
lenrokskate
» 2010-07-24 14:34:21
struct tm to struktura (jak sama nazwa wskazuje) a time_t to zmienna

musisz zrobic zmienną time_t (nazwa np. dni) i zapisać do niej ilość dni

#edit
C/C++
#include <time.h>
#include <conio.h>
#include <iostream>

using namespace std;

int main() {
   
    time_t start, koniec;
    int rozwiazanie;
    double roznica;
   
    time( & start );
    cout << "Ile to 6+3 ?" << endl;
    do {
        cin >> rozwiazanie;
    } while( rozwiazanie != 9 );
   
    time( & koniec );
    roznica = difftime( koniec, start );
    cout << "\nGratulacja, poprawny wynik!\nObliczenia zajely Ci: " << roznica << " sekund";
   
    getch();
    return 0;
}
P-20127
malan
» 2010-07-24 15:57:21
difftime raczej różnicy dni nie policzysz :). O ile wiem, nie ma żadnej standardowej funkcji do takich obliczeń, także algorytm musisz napisać sam ;).
P-20133
lenrokskate
» 2010-07-24 18:23:36
o ile difftime zwracał by unsigned long long to może by się dało, potem to na dni przeliczyć xD
P-20143
skolukmar
Temat założony przez niniejszego użytkownika
» 2010-07-25 14:56:36
Chciałem z diffine policzyć ilość dni dzieląc wynik defftime() przez ilość sek. w 24h, ale jeśli będę musiał obliczać ilość dni pomiędzy kilkoma latami, to rzeczywiście się nie uda. Mielibyście na to jakiś pomysł ? Jest może jakaś komenda w Linuksie licząca ilość dni pomiędzy datami ? Wtedy w kodzie programu można by to wykorzystać.
P-20146
lenrokskate
» 2010-07-25 17:56:19
użyj bardzo dużo zmiennych (koniecznie dodaj unsigned) to może ci się uda rok policzyć
P-20151
« 1 »
  Strona 1 z 1