Compilare un programma che eseguito in INPUT un anno dall'utente verifichi se sarà o se è stato bisestile, inserire un controllo while che permetta di rieseguire il programma n volte e un contatore che una volta terminato il programma visualizzi quante volte è stato eseguito dall'utente.
#include <stdio.h>
int anno;
int ris;
int scelta=1; //assegno valore 1 a scelta così da far fare subito all'apertura del programma un ciclo all'interno del while
int bisestile(int); //definizione funzione che verifica se anno inserito è bisestile
int menu(); //definizione funzione che esegue menu
int contatore=0; //conta quante volte l'utente esegue il programma
using namespace std;
int main()
{
printf("Questo programma verifica se l'anno inserito dall'utente risulta essere \nbisestile o meno\n\n");
while(scelta>0 && scelta<2) //while che controlla la scelta effettuata dall'utente nella funzione menu
{
contatore++; //conta quante volte l'utente esegue il programma
printf("\nInserisci l'anno che vuoi verificare: ");
scanf("%d",&anno);
if(anno>2013) //se anno inserito dall'utente risulta maggiore dell'anno corrente allora usa printf con dicitura "sarà"
{
ris=bisestile(anno); //chiamata a funzione con passaggio parametro "anno" che verifica se anno inserito è bisestile e restituisce in variabile "ris" 1 se bisestile 0 se NON bisestile
if(ris==1) //se funzione bisestile restituisce 1
printf("L'anno sara' bisestile");
else //altrimenti se funzione bisestile restituisce 0
printf("L'anno non sara' bisestile");
}
else //altrimenti se anno inserito dall'utente risulta minore dell'anno corrente allora usa printf con dicitura "era"
{
ris=bisestile(anno); //chiamata a funzione che verifica se anno inserito è bisestile e restituisce in variabile "ris" 1 se bisestile 0 se NON bisestile
if(ris==1) //se funzione bisestile restituisce 1
printf("L'anno era bisestile");
else //altrimenti se funzione bisestile restituisce 0
printf("L'anno non era bisestile");
}
scelta=menu(); //chiamata a funzione menu che restituisce la scelta dell'utente in variabile "scelta" che utilizza poi nel controllo con while
}
printf("\n\tHai eseguito questo programma %d volte",contatore); //quando l'utente decide di uscire viene visualizzato quante volte ha eseguito il programma
}
int menu() //definizione funzione menu
{
int scelta; //variabile di appoggio per input utente
printf("\n\n\tMenu:");
printf("\n\n1) Per verificare un altro anno\n2) Per uscire\n");
scanf("%d",&scelta);
return scelta; //restituisce il contenuto della variabile scelta
}
int bisestile (int a) //definizione funzione bisestile con passaggio parametro anno
{
int ris; //variabile di appoggio per risultato verifica anno
if(a%100==0) //se anno diviso 100 da resto zero (quindi è divisibile)
{
if(a%400==0) //controllo se è anche divisibile per 400
ris=1; //se si bisestile quindi assegno a variabile "ris" valore 1
else
ris=0; //altrimenti se no allora non bisestile assegno a "ris" valore 0
}
else //altrimenti se non divisibile per 100 (quindi anno non secolare)
{
if(a%4==0) //se divisibile per 4
ris=1; //bisestile quindi assegno valore 1
else //altrimenti se non divisibile per 4
ris=0; //non bisestile quindi assegno valore 0
}
return ris; //restituisco il valore contenuto in variabile "ris"
}
Nessun commento:
Posta un commento