Sei sulla pagina 1di 3

Testo della prova

Si progetti e realizzi un programma che riceve in input nome, cognome e data di nascita
degli abitanti di un certo Comune, effettua alcune elaborazioni e visualizza in output i
risultati. Una versione semplificata del programma può essere realizzata sotto l’ipotesi
che gli abitanti siano al massimo 1000.

I dati di un abitante dovranno essere contenuti in una struct contenente la stringa nome, la
stringa cognome, la stringa data di nascita.

In input il programma richiede una prima stringa che deve contenere il nome e cognome
dell’abitante, separati da punto e virgola (;).
Se nel nome o nel cognome sono presenti degli spazi, al loro posto l’utente dovrà mettere
un carattere virgola (,).
Ad esempio, per l’abitante Leonardo da Vinci, l’utente del programma dovrà inserire in
input :
Leonardo;da,Vinci

Il programma richiede poi come secondo input la data di nascita composta dal giorno di
nascita (fornito su due cifre), il mese di nascita (fornito su due cifre) e l’anno di nascita
(fornito su 4 cifre), tutti separati da un carattere slash (/), ad esempio:
15/04/1452

Al termine dell’inserimento degli abitanti, il programma dovrà stampare a video l’elenco


degli stessi.

Il programma dovrà essere organizzato in funzioni. Si consiglia di realizzare:


­ Una funzione input che legge prima nome e cognome, poi la data di
nascita;
­ Una funzione estraiNomeCognome che controlla la validità del nome e del
cognome, sostituisce spazi al posto delle virgole e riempie i campi nome e
cognome della struct abitante;
­ Una funzione estraiDataNascita che controlla la validità della data di
nascita e riempie il relativo campo della struct abitante;
­ Una funzione visualizza che stampa a video i dati di tutti gli abitanti.
------------------------------------------------------------------------------------------------------------

Esempi
Inserisci nome e cognome separati da ; (Ad esempio Leonardo;da,Vinci)
Leonardo
Manca il cognome
Inserisci nome e cognome separati da ; (Ad esempio Leonardo;da,Vinci)
Leonardo;
Manca il cognome
Inserisci nome e cognome separati da ; (Ad esempio Leonardo;da,Vinci)
Leonardo;da,Vinci
Inserisci la data di nascita, ad esempio 15/04/1452
15
Inserisci la data di nascita, ad esempio 15/04/1452
15/04
Inserisci la data di nascita, ad esempio 15/04/1452
15/04/1452
Altri abitanti (s/n)?s
Inserisci nome e cognome separati da ; (Ad esempio Leonardo;da,Vinci)
Gaetano;Russo
Inserisci la data di nascita, ad esempio 15/04/1452
18/12/1977
Altri abitanti (s/n)?s
Inserisci nome e cognome separati da ; (Ad esempio Leonardo;da,Vinci)
Luca,Maria;Esposito
Inserisci la data di nascita, ad esempio 15/04/1452
17/07/1994
Altri abitanti (s/n)?n
Cognome: da Vinci
Nome: Leonardo
Data di nascita: 15/04/1452
----------------------------
Cognome: Russo
Nome: Gaetano
Data di nascita: 18/12/1977
----------------------------
Cognome: Esposito
Nome: Luca Maria
Data di nascita: 17/07/1994
----------------------------
--------------------------------
Process exited after 105 seconds with return value 0
Press any key to continue . . .

Potrebbero piacerti anche