codice:/* Name: Calcolo dei giorni tra due date Copyright: Author: Date: 21/10/12 10:29 Description: questo programma è in grado di calcolare quanti giorni intercorrono tra le due date */ #include<stdio.h> #include<stdlib.h> //variabili di input int giorno1, giorno2, mese1, mese2, anno1, anno2; //variabili di outut int numero; //variabili di programma int numero1; int numero2; int anniInteri; int anniBisestili; //variabili di input int giorno, mese, anno; //variabili di input/output int CalcoloBisestile; //variabili di output int numero; //calcolo se l'anno è bisestile int bisestile(int anno); int bisestile(int anno) { //calcolo anno bisestile CalcoloBisestile = ((anno %4 ==0) && (anno %100 !=0) || (anno %400 ==0)); //restituisco il risultato return(CalcoloBisestile); } //calcolo il numero dei giorni trascorsi int CalcoloNumero (int mese); int CalcoloNumero(int mese) { switch(mese) { case 1: numero = giorno; break; case 2: numero = giorno + 31; break; case 3: numero = giorno + 28 + 31 + bisestile(anno); break; case 4: numero = giorno + 28 + 31*2 + bisestile(anno); break; case 5: numero = giorno + 28 + 30 + 31*2 + bisestile(anno); break; case 6: numero = giorno + 28 + 30 + 31*3 + bisestile(anno); break; case 7: numero = giorno + 28 + 30*2 + 31*3 + bisestile(anno); break; case 8: numero = giorno + 28 + 30*2 + 31*4 + bisestile(anno); break; case 9: numero = giorno + 28 + 30*2 + 31*5 + bisestile(anno); break; case 10: numero = giorno + 28 + 30*3 + 31*5 + bisestile(anno); break; case 11: numero = giorno + 28 + 30*3 + 31*6 + bisestile(anno); break; case 12: numero = giorno + 28 + 30*4 + 31*6 + bisestile(anno); break; //restituisco il risultato return (numero); } } int giorniTrascorsiI (int giorno, int mese, int anno); int giorniTrascorsiI (int giorno, int mese, int anno) { int giorniTrascorsiI; //input //calcolo il risultato numero = CalcoloNumero(mese); //mostro il risultato retutn(numero); } //calcola anni bisestili int CalcolaNumero1 (int giorno1, int mese1, int anno1); int CalcolaNumero1 (int giorno1, int mese1, int anno1) { numero1 = 366 - numero + bisestile(anno1); return(numero1); } int CalcolaNumero2(int giorno2,int mese2,int anno2); int CalcolaNumero2(int giorno2,int mese2,int anno2) { switch(mese) { case 1: numero2 = giorno; break; case 2: numero2 = giorno + 31; break; case 3: numero2 = giorno + 28 + 31 + bisestile(anno); break; case 4: numero2 = giorno + 28 + 31*2 + bisestile(anno); break; case 5: numero2 = giorno + 28 + 30 + 31*2 + bisestile(anno); break; case 6: numero2 = giorno + 28 + 30 + 31*3 + bisestile(anno); break; case 7: numero2 = giorno + 28 + 30*2 + 31*3 + bisestile(anno); break; case 8: numero2 = giorno + 28 + 30*2 + 31*4 + bisestile(anno); break; case 9: numero2 = giorno + 28 + 30*2 + 31*5 + bisestile(anno); break; case 10: numero2 = giorno + 28 + 30*3 + 31*5 + bisestile(anno); break; case 11: numero2 = giorno + 28 + 30*3 + 31*6 + bisestile(anno); break; case 12: numero2 = giorno + 28 + 30*4 + 31*6 + bisestile(anno); break; //restituisco il risultato return (numero); } } int giorniTrascorsiII (int giorno, int mese, int anno); int giorniTrascorsiII (int giorno, int mese, int anno) { int giorniTrascorsiII; //input //calcolo il risultato numero2 = CalcoloNumero(mese); //mostro il risultato retutn(numero2); } int CalcoloanniBisestili(int anno); int CalcoloanniBisestili(int anno) { for (int i=anno1; i<=anno2; i++) { (((i % 4) == 0 && (i % 100) != 0) || (i % 400) == 0) anniBisestili = anniBisestili + 1; } } int CalcolaAnniInteri(int anno1,int anno2); int CalcolaAnniInteri(int anno1,int anno2) { anniInteri = anniBisestili + 365 * (anno2 - anno1 -1); return(anniInteri); } int main () { printf(" Inserisci giorno 1 --->"); scanf("%d", &giorno1); printf(" Inserisci mese 1 --->"); scanf("%d", &mese1); printf(" Inserisci anno 1 --->"); scanf("%d", &anno1); printf("\n\n\n Inserisci giorno 2 --->"); scanf("%d", &giorno2); printf(" Inserisci mese 2 --->"); scanf("%d", &mese2); printf(" Inserisci anno 2 --->"); scanf("%d", &anno2); //calcolo numero numero = numero1 + numero2 + anniInteri; //mostro risultato printf("il risultato e' --->%d", numero); //mostra il risultato system("PAUSE"); }