
Originariamente Scritto da
terry86
Il mio problema è il punto 5..nel mio studio non ho mai incontrato la definizione di una matrice fuori dal main..e vorrei sapere se esiste una procedura particolare.
Ho provato con:
typedef Sensore RilevazioniSettimanali[7][6];
ma poi ho problemi quando mando la matrice alle funzioni perchè il compilatore non riconosce il tipo RilevazioniSettimanali.
Se la richiesta non fosse quella io definirei la matrice di tipo sensore nel main e il problema sarebbe risolto.
Sono stata più chiara adesso?..grazie!!!
Così va molto meglio, grazie.
Più informazioni si forniscono, maggiore è la speranza matematica di ottenere una risposta utile e risolutiva... 
Il seguente sorgente è stato da me compilato ed eseguito con successo utilizzando separatamente BCC 5.5.1, Visual C++ Express 2009, Open Watcom:
Codice:
#include <stdio.h>
#include <string.h>
typedef enum {lun, mar, mer, gio, ven, sab, dom} GiornoSettimanale;
typedef enum {Bari, Bat, Brindisi, Foggia, Lecce, Taranto} Provincia;
typedef enum {alto, basso} Valore;
typedef struct {
float temperatura;
Valore umidita;
} Sensore;
typedef Sensore RilevazioniSettimanali[7][6];
void InserisciDati(RilevazioniSettimanali tab)
{
memset(tab, 0, sizeof(tab));
tab[Bari][lun].temperatura = 27.1;
tab[Bari][lun].umidita = alto;
tab[Taranto][mar].temperatura = 29.3;
tab[Taranto][mar].umidita = basso;
tab[Foggia][mer].temperatura = tab[Bari][lun].temperatura + 2.9;
tab[Foggia][mer].umidita = basso;
}
int main(void)
{
RilevazioniSettimanali tabulato;
InserisciDati(tabulato);
printf("Bari lun: temp %.2f°C, umidità %s\n",
tabulato[Bari][lun].temperatura,
(tabulato[Bari][lun].umidita == basso ? "bassa" : "alta"));
printf("Taranto mar: temp %.2f°C, umidità %s\n",
tabulato[Taranto][mar].temperatura,
(tabulato[Taranto][mar].umidita == basso ? "bassa" : "alta"));
printf("Foggia mer: temp %.2f°C, umidità %s\n",
tabulato[Foggia][mer].temperatura,
(tabulato[Foggia][mer].umidita == basso ? "bassa" : "alta"));
return (0);
}