Questa è una vecchia versione del documento!
Indice
Esercitazione stdio.h, stringhe, strutture
Esercizio 1: Generare un file di numeri casuali
Utilizzare la libreria stdio.h
per creare un file misure
che contenga 150 numeri reali nell'intervallo (0,20] generati casualmente con la funzione rand()
. I numeri devono essere scritti uno per linea separati da '\n'.
Esercizio 2: Calcolare l'istogramma
Utilizzare il file misure
generato nell'esercizio precedente e calcolare il numero di valori generati che ricadono nei 10 intervalli
(0, 2] (2,4] ..... (18,20]
stampare il numero dei valori per ciascun intervallo sullo standard output.
Esercizio 3: Archivio studenti
Scrivere un programma C che legge una sequenza di studenti dal file anagrafe_studenti
.
Ogni studente e' memorizzato su file in una singola linea contenente tre stringhe di caratteri separate da ':' e terminata da '\n' secondo il formato
cognome:nome:numero_di_matricola
quindi ad esempio
... Rossi:Mario:234445 Bixio:Nino:435678 Garibaldi:Giuseppe:787899 ...
Il programma legge da file gli studenti e memorizza i dati relativi a ciascun studente in un array di strutture di tipo:
#define N 50 typedef struct { char nome[N+1]; char cognome[N+1]; unsigned matricola; } studente_t;
L'array viene poi ordinato per il campo cognome
e nel caso di cognomi uguali per il campo nome
e poi stampato sullo standard output.
Suggerimento: Per la lettura da file usare fscanf()
con una opportuna stringa di formattazione oppure fgets()
per leggere fino al primo \n
e strchr()
per localizzare i caratteri separatori :