rendered paste body/*********************************************************************
*ohjelma, jossa lasketaan kymmenen Suomen kaupungin lämpötilojen keskiarvo.
*Lisäksi ohjelmassa lasketaan koko maan ”karkea” keskiarvo annettujen lämpötilalukemien perusteella.
*Tekijä: Jarno Kurlin
*Ryhmä: Tie07a
*PVM: 08.10.2007
**********************************************************************/
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#define TAULUKOKO 11
int main(void)
{
setlocale(LC_ALL, "Finnish");
double KAUPLKM[TAULUKOKO];
double LÄMMÖT[TAULUKOKO];
double maankeskiarvo,ka_summa,lampotila,kaup_ka; /*koko maan keskiarvo, kaupunkien lämpötilojen summa keskiarvoa varten, kaupungin lämpötila, yksittäisen kaupungin keskiarvo*/
int i,kaupunki,nollaus,jakaja;
printf("**Ohjelma laskee syöttämiesi kaupunkien lämpötilojen keskiarvon sekä koko maan karkean keskiarvon **\n\n");
printf("Syötä kaupungin numero jonka lämpötilan haluat ilmoittaa: \n1 – Helsinki\n2 – Kuopio\n3 – Lahti\n4 – Lappeenranta\n5 – Maarianhamina\n6 – Mikkeli\n7 – Oulu\n8 – Rovaniemi\n9 – Savonlinna\n10 – Turku\n");
kaupunki = 1;
ka_summa = 0;
maankeskiarvo = 0;
jakaja = 0;
for (nollaus = 0; nollaus < TAULUKOKO; nollaus++) /*Nollataan taulut*/
{
LÄMMÖT[nollaus] = 0;
KAUPLKM[nollaus] = 0;
}
while ( kaupunki != 99)
{
printf("Syötä Kaupungin numero: ");
scanf("%d",&kaupunki);
switch (kaupunki)
{
case 0:
printf("1 – Helsinki\n2 – Kuopio\n3 – Lahti\n4 – Lappeenranta\n5 – Maarianhamina\n6 – Mikkeli\n7 – Oulu\n8 – Rovaniemi\n9 – Savonlinna\n10 – Turku\n");
break;
case 1:
printf("***Syötä Helsingin %0.0lf. lämpötila: ", KAUPLKM[kaupunki]+1);
scanf("%lf",&lampotila);
LÄMMÖT[kaupunki] = LÄMMÖT[kaupunki] + lampotila;
KAUPLKM[kaupunki]++;
break;
case 2:
printf("***Syötä Kuopion %0.0lf. lämpötila: ", KAUPLKM[kaupunki]+1);
scanf("%lf",&lampotila);
LÄMMÖT[kaupunki] = LÄMMÖT[kaupunki] + lampotila;
KAUPLKM[kaupunki]++;
break;
case 3:
printf("***Syötä Lahden %0.0lf. lämpötila: ", KAUPLKM[kaupunki]+1);
scanf("%lf",&lampotila);
LÄMMÖT[kaupunki] = LÄMMÖT[kaupunki] + lampotila;
KAUPLKM[kaupunki]++;
break;
case 4:
printf("***Syötä Lappeenrannan %0.0lf. lämpötila: ", KAUPLKM[kaupunki]+1);
scanf("%lf",&lampotila);
LÄMMÖT[kaupunki] = LÄMMÖT[kaupunki] + lampotila;
KAUPLKM[kaupunki]++;
break;
case 5:
printf("***Syötä Maarianhaminan %0.0lf. lämpötila: ", KAUPLKM[kaupunki]+1);
scanf("%lf",&lampotila);
LÄMMÖT[kaupunki] = LÄMMÖT[kaupunki] + lampotila;
KAUPLKM[kaupunki]++;
break;
case 6:
printf("***Syötä Mikkelin %0.0lf. lämpötila: ", KAUPLKM[kaupunki]+1);
scanf("%lf",&lampotila);
LÄMMÖT[kaupunki] = LÄMMÖT[kaupunki] + lampotila;
KAUPLKM[kaupunki]++;
break;
case 7:
printf("***Syötä Oulun %0.0lf. lämpötila: ", KAUPLKM[kaupunki]+1);
scanf("%lf",&lampotila);
LÄMMÖT[kaupunki] = LÄMMÖT[kaupunki] + lampotila;
KAUPLKM[kaupunki]++;
break;
case 8:
printf("***Syötä Rovanimen %0.0lf. lämpötila: ", KAUPLKM[kaupunki]+1);
scanf("%lf",&lampotila);
LÄMMÖT[kaupunki] = LÄMMÖT[kaupunki] + lampotila;
KAUPLKM[kaupunki]++;
break;
case 9:
printf("Syötä Savonlinnan %0.0lf. lämpötila: ", KAUPLKM[kaupunki]+1);
scanf("%lf",&lampotila);
LÄMMÖT[kaupunki] = LÄMMÖT[kaupunki] + lampotila;
KAUPLKM[kaupunki]++;
break;
case 10:
printf("Syötä Turun %0.0lf. lämpötila: ", KAUPLKM[kaupunki]+1);
scanf("%lf",&lampotila);
LÄMMÖT[kaupunki] = LÄMMÖT[kaupunki] + lampotila;
KAUPLKM[kaupunki]++;
break;
case 99: /*Pois switchin sisältä*/
break;
default:
printf("\nVäärä valinta, tulosta kaupunkilistaus syöttämällä 0 tai jatka syöttämällä kaupungin numero: ");
break;
}
}
printf("\nKaupunkien keskilämpötilat ovat:\n");
for (i = 1; i < TAULUKOKO; i++) /*tulostetaan kaupunkien keskiarvot*/
{
if (LÄMMÖT[i] != 0) /*Tarkastetaan onko kaupungille määritetty yhtään lämpötilaa*/
{
kaup_ka = LÄMMÖT[i]/KAUPLKM[i];
printf("%d. %0.2lf\n",i,kaup_ka);
ka_summa = kaup_ka + ka_summa;
jakaja++; /*Määritetään kuinka monelle kaupungille on annettu lämpötila-arvoja*/
}
else
{
printf("%d. Ei syötettyjä lämpötiloja\n",i);
}
}
maankeskiarvo = ka_summa/jakaja;
printf("\n\nlämpötilojen keskiarvo koko maassa on %0.2lf",maankeskiarvo);
getch();
return 0;
}