Salve a tutti
, sono alle prese con un programma che richiede di scrivere una funzione in grado di contare il numero di giorni intercorsi tra due date. Ho abbozzato qualcosa creando una struttura ed effettuando con tre funzione le apposite differenze. Purtroppo nel momento in cui queste funzioni dovrebbero stampare il risultato finale danno un risultato errato. Qui sotto ho postato le tre funzioni con l'apposita struttura. Ditemi cosa ne pensate ed eventuali errori
!
codice:
typedef struct struttura{
int g, m, a;
}data;
int anno(data *m, data *k){
int diff= m->a - k->a;
int i;
int j=diff*365;
if (diff=!0){
for(i=m->a+1; i<=k->a; i++){
if (((i%4)==0 && (i%100)!=0) || (i%400)==0) {
j++;
}
}
}
else{
diff= k->a - m->a;
for(i=k->a+1; i<=m->a; i++){
if (((i%4)==0 && (i%100)!=0) || (i%400)==0) {
j++;
}
}
}
return j;
}
int mese(data *m, data *k){
int r=m->m - k->m;
int s;
if(r!=0){
s=r*31;
}
else{
r=k->m - m->m;
s=r*30;
}
return s;
}
int giorno(data *m, data *k){
int t=m->g - k->g;
int v=k->g - m->g;
if(t!=0){
return t;
}
else{
return v;
}
}