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");  
}