8: I dati e la loro struttura nella programmazione( ARRAY, MATRICI, RECORD) Vers. 10.0 – Maggio 2025
Esempio 7 BIS: Implementazione in C dell’ esempio n. 7
# include < stdio. h > # include < stdlib. h > # include < string. h >
// definizione del nuovo tipo sottorecord utente DettagliLibro typedef struct { char Isbn [ 10 + 1 ]; char Titolo [ 100 + 1 ]; char Autore [ 50 + 1 ]; char CasaEditrice [ 50 + 1 ]; } DettagliLibro;
// definizione del nuovo tipo record utente Libro typedef struct { DettagliLibro DetLib; float Prezzo; int Pagine; } Libro;
int main( int argc, char * argv []) { // Dichiarazione di una variabile record di tipo Libro Libro lib;
// Leggo la variabile record lib di tipo Libro campo x campo effettuando // tutti i controlli // N. B. la LETTURA o CARICAMENTO è un ' operazione NON ATOMICA printf("************* Lettura dati del record ***************\ n "); // Isbn do { printf(" Inserisci Isbn: "); gets( lib. DetLib. Isbn); } while(( strlen( lib. DetLib. Isbn) == 0) ||( strlen( lib. DetLib. Isbn) > 10));
// Titolo Per accedere ad un campo del record lib che fa parte do del sottorecord di tipo DettagliLibro, occorre
{ utilizzare più volte( in questo caso due) la dot notation printf(" Inserisci Titolo: "); passando per il campo di nome DetLib gets( lib. DetLib. Titolo); } while(( strlen( lib. DetLib. Titolo)== 0) ||( strlen( lib. DetLib. Titolo)> 100));
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 50