Salve gente
premesso che non ne so molto di c...
dovrei fare un programma che mi calcoli la differenza in giorni tra due date...
codice:
#include "stdafx.h"
#include <iostream.h>
#include <stdio.h>
bool bisestile(int bis){
return (bis%4==0)&&(bis%100!=0)||(bis%400==0);
}
unsigned int data(unsigned int giorno1,unsigned int mese1,unsigned int anno1,unsigned int giorno2,unsigned int mese2,unsigned int anno2){
unsigned int NUMERO_GIORNI_A=364;
int ACCUMULATORE_GIORNI=0;
while(anno1>anno2){
ACCUMULATORE_GIORNI+=NUMERO_GIORNI_A;
if(bisestile(anno1)) ACCUMULATORE_GIORNI++;
anno1--;
}
while(anno2>anno1){
ACCUMULATORE_GIORNI+=NUMERO_GIORNI_A;
if(bisestile(anno2)) ACCUMULATORE_GIORNI++;
anno2--;
}
if(mese1<=12&&mese2<=12) {
if(mese1==1) mese1=31;
if(mese1==2) mese1=28;
if(mese1==3) mese1=31;
if(mese1==4) mese1=30;
if(mese1==5) mese1=31;
if(mese1==6) mese1=30;
if(mese1==7) mese1=31;
if(mese1==8) mese1=31;
if(mese1==9) mese1=30;
if(mese1==10) mese1=31;
if(mese1==11) mese1=30;
if(mese1==12) mese1=31;
if(mese2==2) mese2=28;
if(mese2==1) mese2=31;
if(mese2==3) mese2=31;
if(mese2==4) mese2=30;
if(mese2==5) mese2=31;
if(mese2==6) mese2=30;
if(mese2==7) mese2=31;
if(mese2==8) mese2=31;
if(mese2==9) mese2=30;
if(mese2==10) mese2=31;
if(mese2==11) mese2=30;
if(mese2==12) mese2=31;}
else cout << "Errore nella data"<< endl;
if(mese1>=mese2) {ACCUMULATORE_GIORNI+=mese1-mese2;}
else {ACCUMULATORE_GIORNI+=mese2-mese1;}
if(giorno1>=giorno2) {ACCUMULATORE_GIORNI+=giorno1-giorno2;}
else {ACCUMULATORE_GIORNI+=giorno2-giorno1;}
return ACCUMULATORE_GIORNI;
}
void main(){
unsigned int giorno1, mese1, anno1, giorno2, mese2, anno2;
cout << "Inserisci il giorno della prima data(gg):" <<endl;
cin >> giorno1;
cout << "Inserisci il mese della prima data(mm):" << endl;
cin >> mese1;
cout << "Inserisci l'anno della prima data(aaaa):" << endl;
cin >> anno1;
cout << "Inserisci il giorno della seconda data(gg):" <<endl;
cin >> giorno2;
cout << "Inserisci il mese della seconda data(mm):" << endl;
cin >> mese2;
cout << "Inserisci l'anno della seconda data(aaaa):" << endl;
cin >> anno2;
cout << "La differenza tra le due date in giorni e' " << data(giorno1,mese1,anno1,giorno2,mese2,anno2) << endl;
}
Dov'è l'errore???? Vi ringrazio anticipatamente...
Ps: Perdonate tutti quegli "if"