This software may calulate the min e max temperature of some cities entered by keybord, but I've some problems with the scanf or the printf, because it shows the ram register value instood the effictive data. I don't know why my simple c script don't work any idea? (may the problems is on the scanf %g of the &rilevazioni[i].temp)
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char nome [30] ;
double temp;
}meteo;
int main(int argc, char* argv[]) {
meteo rilevazioni[20];
meteo min, max;
double media = 0;
int i = 0;
int app = 0;
int n;
printf("quante citta' vuole inserire? (max 20 citta')\n");
scanf("%d",&n);
printf("\n Inseriamo le rilevazioni");
for (i = 0; i < n; i++)
{
printf("\n Inserisci il nome : ");
scanf("%s", rilevazioni[i].nome);
printf("\n Inserisci la temperatura : ");
fflush(stdin);
scanf("%g", &rilevazioni[i].temp);
if (i == 0)
min = max = rilevazioni[i];
else
if (min.temp > rilevazioni[i].temp)
min = rilevazioni[i];
else if (max.temp < rilevazioni[i].temp)
max = rilevazioni[i];
media += rilevazioni[i].temp;
}
fflush(stdin);
media = media / n;
printf("\n La citta' con temperatura minima e': %s con una temperatura di: %g gradi ", min.nome, min.temp);
printf("\n La citta' con temperatura massima e': %s con una temperatura di: %g gradi ", max.nome, max.temp);
printf("\n Le citta' con temperatura maggiore rispetto alla media (%f) sono:", media);
for (i = 0; i < n; i++)
{
if (rilevazioni[i].temp > media)
printf("\n La citta' : %s ha una temperatura di: %g gradi ", rilevazioni[i].nome, rilevazioni[i].temp);
}
}