logo Thecsea.it



Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License



scolastica » esercizi » terza superiore » linguaggio c

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



Copyright © 2004-2024 thecsea.it (Claudio Cardinale - [email protected])! Tutti i diritti riservati. - contattaci