include iostream.h struct Data int giorno; int mese; int anno; ; bool Bisestile(int); int GiorniDelMese(int, int); void CalcolaDataPrecedente(Data& d); void CalcolaDataSuccessiva(Data& d); main() Data oggi, ieri, domani; cout "Inserisci una data (giorno mese anno): "; cin oggi.giorno oggi.mese oggi.anno; ieri = oggi; CalcolaDataPrecedente(ieri); cout "La data precedente e " ieri.giorno ieri.mese ieri.anno endl; domani = oggi; CalcolaDataSuccessiva(domani); cout "La data successiva e " domani.giorno domani.mese domani.anno endl; void CalcolaDataSuccessiva(Data& d) if (d.giorno != GiorniDelMese(d.mese,d.anno)) d.giorno; else if (d.mese != 12) d.giorno = 1; d.mese; else d.giorno = 1; d.mese = 1; d.anno; void CalcolaDataPrecedente(Data& d) if (d.giorno != 1) d.giorno; else if (d.mese != 1) d.mese; d.giorno = GiorniDelMese(d.mese,d.anno); else d.anno; d.mese = 12; d.giorno = GiorniDelMese(d.mese,d.anno); int GiorniDelMese(int mese, int anno) if (mese == 4 mese == 6 mese == 9 mese == 11) return 30; else if (mese == 2) if (Bisestile(anno)) return 29; else return 28; else return 31; bool Bisestile(int a) if (a % 4 != 0) return false; else if (a % 100 != 0) return true; else if (a % 400 != 0) return false; else return true; Continua »