salve a tutti....
il mio problema è quello di calcolare il numero di giorni che separano due date,sono riuscito a fare qualcosa usando la libreria ctime come nell'esempio riportato sotto ma da quello che ho capito posso gestire solo date a partire dal 1970.So che potrei scrivere un algoritmo per il calcolo dei giorni,ma vorrei sapere se dovrei usare qualche funzione predefinita adatta a questo tipo di problemi???
GRAZIE!!
#include <iostream>
#include <ctime>
using namespace std;
void getdate(tm * timestruct);
int main()
{
tm data1={0}, data2={0};
time_t td1, td2;
int diff;
cout<<"Calcolo differenza date\n";
cout<<"Inserire la prima data:\n";
getdate(&data1);
if((td1 = mktime(&data1)) == -1)
{
cerr<<"Data non valida\n";
system ("pause");
return 1;
}
cout<<"Inserire la seconda data:\n";
getdate(&data2);
if((td2 = mktime(&data2)) == -1)
{
cerr<<"Data non valida\n";
system ("pause");
return 1;
}
// abs ==> valore assoluto
diff = abs(td1 - td2)/86400;
cout<<"Differenza: "<<diff<<" giorni.\n";
system ("pause");
return 0;
}
void getdate(tm * timestruct)
{
cout<<"Anno: ";
cin>>timestruct->tm_year;
timestruct->tm_year-=1900;
cout<<"Mese: ";
cin>>timestruct->tm_mon;
cout<<"Giorno: ";
cin>>timestruct->tm_mday;
timestruct->tm_isdst=-1;
}