menghitung selisih hari C++

menghitung selisih hari C++ (kasus 12 bab 3 diktat alpro)

#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
struct{
    int hari,bulan, tahun;
} masuk, keluar, selisih;
int main(int argc, char** argv) {
    cout<<"Date Awal"<<endl;
    cout<<"Masukan Tahun : ";cin>>masuk.tahun;
    cout<<"Masukan Bulan : ";cin>>masuk.bulan;
    cout<<"Masukan Tanggal :";cin>>masuk.hari;
   
    cout<<endl<<endl;
   
    cout<<"Date akhir"<<endl;
    cout<<"Masukan Tahun : ";cin>>keluar.tahun;
    cout<<"Masukan Bulan : ";cin>>keluar.bulan;
    cout<<"Masukan Tanggal :";cin>>keluar.hari;
   
    if((keluar.hari-masuk.hari)<0){
        selisih.hari=((30+keluar.hari)-masuk.hari);
    }    else {
        selisih.hari=keluar.hari-masuk.hari;
    }
    if((keluar.bulan-masuk.bulan<0)){
        selisih.bulan=(12+keluar.bulan-masuk.bulan);
            selisih.tahun=keluar.tahun-masuk.tahun-1;
    } else {
        selisih.bulan=keluar.bulan-masuk.bulan;
    selisih.tahun=keluar.tahun-masuk.tahun;
    }
   
    cout<<endl<<endl;
   
    cout<<"Selisih dalam Hari = "<<selisih.tahun*365+selisih.bulan*30+selisih.hari;
   
    cout<<endl;
    cout<<"Selisih Date Awal dan Akhir"<<endl;
    cout<<selisih.tahun<<" tahun ";
    cout<<selisih.bulan<<" bulan";
    cout<<selisih.hari<<" tanggal ";
    return 0;
}

output :

 Raptor :


EmoticonEmoticon