#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int data1[3], data2[3], ggmese[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30,31};
int gtrascorsi, somma=0, diffanni, gganni, ggfineanno, gginizioanno, fsomma=0, isomma=0;
//INPUT DATA POSTERIORE
cout << "Inserire la data posteriore" << endl;
cout << "Giorno: ";
cin >> data1[0];
cout << "Mese: ";
cin >> data1[1];
cout << "Anno: ";
cin >> data1[2];
//INPUT DATA ANTERIORE
cout << "\nInserire la data anteriore" << endl;
cout << "Giorno: ";
cin >> data2[0];
cout << "Mese: ";
cin >> data2[1];
cout << "Anno: ";
cin >> data2[2];
//INIZIO BLOCCO1: VERIFICA DATA CON DIFF. ANNI = 0
if (data1[2]-data2[2] == 0) //BLOCCO DIFFERENZA ANNI = 0
{
if (data1[1]-data2[1] == 0){ //BLOCCO DIFFERENZA MESI = 0
gtrascorsi = data1[0]-data2[0];}
else
if (data1[1]-data2[1] == 1){ //BLOCCO DIFFERENZA MESI = 1
gtrascorsi = ggmese[data2[1]-1]-data2[0]+data1[0];}
else
if (data1[1]-data2[1] > 1){ //BLOCCO DIFFERENZA MESI > 1
for (int a=data2[1]; a < data1[1]-1; a++){
somma+=ggmese[a];}
}
gtrascorsi = somma+(ggmese[data2[1]-1]-data2[0]+data1[0]);
}
//FINE BLOCCO1. - INIZIO BLOCCO2: VERIFICA DATA CON DIFF. ANNI = 1
else if (data1[2]-data2[2] == 1)
{
ggfineanno=ggmese[data2[1]-1]-data2[0];
for (int a=data2[1]; a <= 11; a++){
fsomma+=ggmese[a];
}
gginizioanno=data1[0];
for (int a=data1[1]-2; a >= 0 ; a--){
isomma+=ggmese[a];
}
gtrascorsi = ggfineanno + gginizioanno + fsomma + isomma;
}
//FINE BLOCCO2. - INIZIO BLOCCO3: VERIFICA DATA CON DIFF. ANNI > 1
else if (data1[2]-data2[2] > 1)
{
gganni=(data1[2]-data2[2]-1)*365;
ggfineanno=ggmese[data2[1]-1]-data2[0];
for (int a=data2[1]; a <= 11; a++){
fsomma+=ggmese[a];
}
gginizioanno=data1[0];
for (int a=data1[1]-2; a >= 0 ; a--){
isomma+=ggmese[a];
}
gtrascorsi = ggfineanno + gginizioanno + fsomma + isomma + gganni;
}
cout << "\nSono trascorsi " << gtrascorsi << " giorni" << endl;
system("PAUSE");
return EXIT_SUCCESS;
}