
Hai difficoltà a fare esercizi con le funzioni? Nessun problema! Oggi ti mostrerò un semplice esercizio che ti aiuterà a capire meglio l’argomento.
Il testo è il seguente:
Crea un programma che calcoli l’anno di nascita sapendo l’età e l’età sapendo l’anno di nascita. Tenere presente l’anno attuale.
Dovremo quindi creare un menù di scelta dove l’utente sceglierà se eseguire il calcolo dell’anno di nascità o dell’età.
Letta la consegna, iniziamo a svolgere l’esercizio:
int eta(int x) {
return 2022-x;
}
Come prima cosa, scrivo una delle due funzioni che mi servono per far funzionare il programma. A mia scelta, ho scritto la funzione eta. Questa ci permette di trovare l’età sapendo l’anno di nascita.
Il calcolo che svolgerò sarà 2022-x
x rappresenta l’anno inserito dall’utente in input. Sottraendo i due valori si ottiene l’età.
int annodinascita(int y) {
return 2022-y;
}
Successivamente scrivo la seconda funzione. La funzione annodinascita serve a calcolare,appunto, l’anno di nascita sapendo l’età.
Il calcolo che svolgerò sarà 2022-y.
y rappresenta l’età inserita dall’utente in input. Sottraendo i due valori si ottiene l’anno di nascita.
int main () {
int s, et, an;
cout<<"---COSA VUOI TROVARE?---"<<endl;
cout<<"1) Eta' sapendo l'anno di nascita"<<endl;
cout<<"2) Anno di nascita sapendo l'eta'"<<endl;
cin>>s;
Iniziamo ora a scrivere la funzione principale, il main. Per prima cosa inizializzo le variabili.
s rappresenta la scelta che farà l’utente nel menù che dovremo creare. et rappresnta l’eta e an l’anno di nascità
Dopo aver inizializzato, creo il menù di scelta che verrà utilizzato dall’utente. Scrivo in output le opzioni descrivendole e in input la variabile s.
Ora, ho due modi per scrivere la parte dove il programma calcolerà ciò che vogliamo sapere. O utilizzo lo Switch Case, o utilizzo l’if. In questo caso, io ho scelto lo Switch Case. Alla fine dell’articolo lascerò il programma completo, potrete trovare in esso le due opzioni eseguibili. Sia il pezzo di codice con l’if che quello con lo Switch.
switch (s) {
case 1: cout<<"Inserisci l'anno di nascita: "<<endl;
cin>>an;
cout<<"L'eta' e' uguale a "<<eta(an)<<endl;
break;
case 2: cout<<"Inserisci l'eta': "<<endl;
cin>>et;
cout<<"L'anno di nascita' e' il <<annodinascita(et)<<endl;
break;
}
Se l’utente dovesse scegliere 1, il programma chiederà di inserire l’anno di nascita in input. Verrà svolta la funzione eta, e il risultato uscirà in output.
Al contrario, se dovesse scegliere 2, il programma chiederà in input l’età. Successivamente svolgerà la funzione annodinascita che verrà stampata in output.
Il programma ora si può considerare concluso. Visto? Non era così difficile! Ma se hai ancora difficoltà non esitare a scrivere un commento o a contattarci via mail a redazioneprogrammazionepertutti@gmail.com
Programma completo – versione Switch Case:
#include <iostream>
using namespace std;
int eta(int x) {
return 2021-x;
}
int annodinascita(int y) {
return 2021-y;
}
int main () {
int s, et, an;
cout<<"---COSA VUOI TROVARE?---"<<endl;
cout<<"1) Eta' sapendo l'anno di nascita"<<endl;
cout<<"2) Anno di nascita sapendo l'eta'"<<endl;
cin>>s;
switch (s) {
case 1: cout<<"Inserisci l'anno di nascita: "<<endl;
cin>>an;
cout<<"L'eta' e' uguale a "<<eta(an)<<endl;
break;
case 2: cout<<"Inserisci l'eta': "<<endl;
cin>>et;
cout<<"L'anno di nascita' e' il <<annodinascita(et)<<endl;
break;
}
}
Programma completo – versione If:
#include <iostream>
using namespace std;
int eta(int x) {
return 2021-x;
}
int annodinascita(int y) {
return 2021-y;
}
int main () {
int s, et, an;
cout<<"---COSA VUOI TROVARE?---"<<endl;
cout<<"1) Eta' sapendo l'anno di nascita"<<endl;
cout<<"2) Anno di nascita sapendo l'eta'"<<endl;
cin>>s;
if (s==1) {
cout<<"Inserisci l'anno di nascita: "<<endl;
cin>>an;
cout<<"L'eta' e' uguale a "<<eta(an)<<endl;
}
else {
cout<<"Inserisci l'eta': "<<endl;
cin>>et;
cout<<"L'anno di nascita' e' il "<<annodinascita(et)<<endl;
}
}









