DIPARTIMENTO   DI   INFORMATICA
Università di Torino

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".
  1. person.c
  2. 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.



[Ferruccio Damiani - DIDATTICA] [Corsi di Studi in Informatica]

Last update: Feb 12, 2002