/* Programma 63cppAnnoBisestile Compilato con dev-c++ Programma che calcola se l'anno inserito è bisestile. L'anno bisestile è l'anno in cui febraio ha un giorno di più (29) Riontino Raffaele 3AS INF I.T.I.S. Ettore Molinari - Milano - 7-3-'10 */ #include #include #include using namespace std; int controllocaratteri(char anno[]); int controlloanno(int intero); int controllobisestile(int anno); main() { char anno[4],scelta; int errore,intero,bisestile; do{ system("cls"); cout << "\n\tProgramma che calcola se l'anno inserito e' bisestile.\n\n\n"; do{ cout << "\n\tInserisci un anno (es. 1978) : "; cin.getline(anno,20); errore=controllocaratteri(anno); if (!errore) { intero = atoi(anno); errore=controlloanno(intero); } } while (errore); bisestile=controllobisestile(intero); if (bisestile){cout << "\n\n\tL'anno inserito e' bisestile ! \n\n";} else {cout << "\n\n\tL'anno inserito non e' bisestile\n\n";} cout << "\n\tvuoi controllare un'altro anno ? (s / n) "; scelta = getch(); scelta = tolower(scelta); }while (scelta == 's'); system("cls"); cout << "\n\n\t\t\t Programma terminato\n\n"; cout << "\n\n\tRiontino Raffaele 3AS INF I.T.I.S. Ettore Molinari - Milano -\n\n"; cout << "\n\n\t\t\t 7 - 3 - 2010\n\n\n\t"; system("pause"); }//chiusura main //funzione controllocaratteri int controllocaratteri(char anno[]) { int flag,k,e; e=0; flag=1; k=0; while ((flag) && (k 57)) { e=1; flag=0; cout << "\n\n Ci sono caratteri non numerici.Ripeti!!\n\n"; } k++; } return e; }//chiusura controllocaratteri //funzione controlloanno int controlloanno(int intero) { int e; e=0; if (intero > 9999) { e=1; cout << "\n\n L'anno massimo da inserire e' il 9999.Ripeti!! \n\n"; } return e; }//chiusura controlloanno //funzione controllobisestile int controllobisestile(int anno) { int e; e=0; if ((anno%100==0)&&(anno%400==0) || (anno%100!=0)&&(anno%4==0)) {e=1;} return e; }//chiusura controllobisestile