Testo dell'esercizio
Scrivere un programma che richiesti i numeri GG, MM, AA di una data verifichi
se questa e' valida.
Ricordare che 1<=MM<=12 e che i mesi di Aprile (MM=4), Giugno (MM=6), Settembre (MM=9) e Novembre (MM=11) sono composti da 30 giorni, febbraio (MM=2) da 28 o 29 giorni mentre tutti gli altri mesi sono composti da 31 giorni
mostra soluzione
/*
CLAUDIO CARDINALE III AI
Scrivere un programma che richiesti i numeri GG, MM, AA di una data verifichi
se questa e' valida.
Ricordare che 1<=MM<=12 e che i mesi di Aprile (MM=4), Giugno (MM=6), Settembre (MM=9) e Novembre (MM=11) sono composti da 30 giorni, febbraio (MM=2) da 28 o 29 giorni mentre tutti gli altri mesi sono composti da 31 giorni
*/
#include<stdio.h>
int main(){
//dichiaraioni
int giorno, mese, anno, check = 1;
//acquisizione dati
printf("verifica la corettezza di una data :\ninserire la data (nel formato gg mm aa) : ");
scanf("%d %d %d",&giorno,&mese,&anno);
//controlli
//controllo sull'anno
if (anno < 0)
check = 0;
else if (anno > 99)
check = 0;
//controllo sul mese
else if (mese < 1)
check = 0;
else if (mese > 12)
check = 0;
//controllo sui giorni
else if (giorno > 31)
check = 0;
else if (giorno > 30){
if (mese == 2)
check = 0;
else if (mese == 4)
check = 0;
else if (mese == 6)
check = 0;
else if (mese == 9)
check = 0;
else if (mese == 11)
check = 0;
//controllo se l'anno è bisestile per stabilere i giorni di febraio
}else if (anno%100 !=0)
if (anno%4 ==0){
if (giorno > 29)
if (mese == 2)
check = 0;
}else
if (giorno > 28)
if (mese == 2)
check = 0;
else if (anno%400 == 0)
if (giorno > 29)
if (mese == 2)
check = 0;
else
if (giorno > 28)
if (mese == 2)
check = 0;
//visualizzazione risultati
if (check == 0 )
printf("la data inserita non e` corretta\n");
else
printf("la data inserita e` corretta\n");
}
Testi Consigliati:
Il linguaggio C. Principi di programmazione e manuale di riferimento. Ediz. MyLab. Con Contenuto digitale per download e accesso on line
C guida alla programmazione: Conoscere lo standard C11 dalle basi del linguaggio alle direttive del preprocessore (Programmare con C Vol. 1)
Programmazione in C
torna