Creare i file dati.h e dati.c che consentano di utilizzare la seguente
struttura:
struct dato {
double valore;
unsigned classe;
};
e la funzione:
extern struct dato *read_dati (const char *filename, unsigned int *pn);
La struttura contiene il campo valore che descrive un certo valore numerico e
il campo classe che descrive la tipologia del dato. La classe sarà un valore
tra 0 e 10.
La funzione accetta come parametro un nome di file che deve essere aperto in
lettura in modalità tradotta (testo) e un puntatore ad una variabile di tipo
unsigned int in cui si dovrà inserire il numero di dati presenti in un file
così strutturato:
<valore><whitespace><classe><a capo>
<valore><whitespace><classe><a capo>
<valore><whitespace><classe><a capo>
...
La funzione deve ritornare un puntatore ad una zona di memoria (allocata
dinamicamente nell’heap) contenente tutti i dati letti dal file.
Ad esempio, un file valido è:
0.0961 2
0.4929 0
0.9252 0
0.2186 1
In questo caso la variabile puntata da pn varrà 4. Per testare la funzione,
utilizzare i file dati1.txt, dati2.txt, dati3.txt disponibili nella pagina
dell'esame.