Lezione di Mercoledi' 16/01/02
-
ultimo aggiornamento: 24/01/02
Il "costruttore di tipo" struct in C (CONTINUA).
CHE COSA E' STATO FATTO A LEZIONE
La dichiarazione typedef in C.
Introduzione, attraverso un esempio, degli array di strutture.
COSA SI DEVE LEGGERE
-
[NOTE1: sez. 0.4]
-
[ANSIC: sez. 7.4 (INPUT FORMATTATO- SCANF)]
ESERCIZI DA SVOLGERE
-
Scrivere, compilare ed eseguire, un programma C che
(utilizzando le dichiarazioni e le funzioni definite in
[NOTE1: sez. 0.4])
legga da terminale un array di "struct person",
copi gli elementi dell'array il cui campo
campo "eta" ha valore < 18 in un array "minorenni"
e i gli altri elementi in un array "maggiorenni",
e infini scriva su terminale gli elenti dell'array
"minorenni" e dell'array "maggiorenni".
SOLUZIONE DEGLI ESERCIZI
Nel codice C riportato in
[NOTE1: sez. 0.4]
sono presenti acuni errori (ringrazio lo studente Patrick Moresi
per la segnalazione). In particolare:
-
Eliminare il "punto e virgola" dalla riga:
#define n;
-
Dopo che si e' introdotta (con un "#define") la macro (o costante) " n,
si utilizza n come parametro
nelle funzioni carica e stampa.
-
Nella funzione carica(0.4.1),
quando si fa la "scanf" dei campi nome e cognome
occorre rimuovere & da
"&A[i].nome" e
"&A[i].cognome"
in quanto si tratta di stringhe (ovvero puntatori a char).
Nel seguito propongo due soluzioni dell'esercizio.
L'unica differenza tra le due soluzioni e' nel fatto che la seconda usa
il comando "typedef".
-
person.c
-
person2.c
Siete invitati ad esaminare, compilare, ed eseguire i programmi
person.c e person2.c.
Al solito, per dubbi, richieste di chiarimento, o segnalazione
di errori SIETE INVITATI A CONTATTARE IL DOCENTE IL PRIMA POSSIBILE.
|