Temperature Campania v2
PROBLEMA
Per le città della provincia della Campanaia, vengono registrate le temperature minime e massime di una giornata. Visualizzare:
- il nome della città più fredda e la sua temperatura
- il nome della città più calda e la sua temperatura
RAPPRESENTAZIONE TECNICO-ILLUSTRTIVA
Prendo la temperatura minima e massima della citta e le uso come punto di riferimento per le successive, quindi, richiedo le altre e le paragono se la minore della nuova città è minore di quella attualmente più piccola la sostituisco e segno il nome della citta altrimenti non faccio nulla, se invece la maggiore è maggiore di quella attualmente più grande la sostituisco e segno il nome della città. Ripeto il tutto fino alla fine delle città. In conclusione mostro la citta con la temperatura più alte e quella con quella più bassa.
TABELLA DATI
IDENTIFICATORE | DESCRIZIONE |
---|---|
Temperatura_minima | Temperatura più bassa del momento di tipo float variabile |
Temperatura_massima | Temperatura più alta del momento di tipo float variabile |
Temperatura | Temperatura da inserire di tipo float variabile |
Citta_minima | Citta con la temperatura più bassa di tipo intero variabile |
Citta_massima | Citta con la temperatura più alta di tipo intero variabile |
Nome_minima | Nome della citta con la temperatura più bassa di tipo char |
Nome_massima | Nome della città con la temperatura più alta di tipo char |
CODICE SORGENTE
#include <stdio.h> //libreria
#include <stdlib.h> //libreria
#include <string.h> //libreria
void banner (void) { //creo una funzione vuota che può essere chiamata
printf(" d888b d8888b. .d8b. d88888D d888888b d88888b \n"); //testo a video
printf("88' Y8b 88 `8D d8' `8b YP d8' `88' 88' \n"); //testo a video
printf("88 88oobY' 88ooo88 d8' 88 88ooooo \n"); //testo a video
printf("88 ooo 88`8b 88~~~88 d8' 88 88~~~~~ \n"); //testo a video
printf("88. ~8~ 88 `88. 88 88 d8' db .88. 88. \n"); //testo a video
printf(" Y888P 88 YD YP YP d88888P Y888888P Y88888P \n"); //testo a video
printf("\n"); //testo a video
} //fine funzione rig.9
void banner_2 (void) { //creo una funzione vuota che può essere chiamata
printf("----------------------------------------------"); //testo a video
} //fine funzione rig.18
int main(int argc, char *argv[]) { //start body
float temperatura_minima=0, temperatura_massima=0, temperatura=0; //dichiarazione variabili
int citta_minima=0, citta_massima=0; //dichiarazione variabili
char nome_minima[10], nome_massima[10]; //dichiarazione variabili
enum regione { //inizo enum
napoli=1, //argomento 1
caserta, //argomento 2
avellino, //argomento 3
salerno, //argomento 4
benevento //argomento 5
}; //fine enum rig.8
enum regione campania; //conteggio per lo switch
for (campania=napoli; campania<=benevento; campania++) { //inizio for
switch (campania) { //inizio switch
case napoli: //caso 1
banner_2(); //richiamo funzione
printf("\nNapoli:\n"); //testo a video
break; //uscita
case caserta: //caso 2
banner_2(); //richiamo funzione
printf("\nCaserta:\n"); //testo a video
break; //uscita
case avellino: //case 3
banner_2(); //richiamo funzione
printf("\nAvellino:\n"); //testo a video
break; //uscita
case salerno: //case 4
banner_2(); //richiamo funzione
printf("\nSalerno:\n"); //testo a video
break; //uscita
case benevento: //caso 5
banner_2(); //richiamo funzione
printf("\nBenevento:\n"); //testo a video
break; //uscita
} //fine switch rig.17
if (campania==1) { //condizione verificata
printf("Temperatura minima: "); //testo a video
scanf("%f", &temperatura_minima); //input
citta_minima=campania; //associazione
printf("Temperatura massima: "); //testo a video
scanf("%f", &temperatura_massima); //input
citta_massima=campania; //associazione
} //fine condizione verificata rig.34
else { //condizione non verificata
printf("Temperatura minima: "); //testo a video
scanf("%f", &temperatura); //input
if(temperatura<temperatura_minima) { //condizione verificata
temperatura_minima=temperatura; //associazione
citta_minima=campania; //associazione
} //fine condizione verificata rig.45
printf("Temperatura massima: "); //testo a video
scanf("%f", &temperatura); //input
if(temperatura>temperatura_massima) { //condizione verificata
temperatura_massima=temperatura; //associazione
citta_massima=campania; //associazione
} //fine condizione verificata rig.51
} //fine condizione non verificata rig.42
} //fine for rig.16
switch (citta_minima) { //inizio switch
case napoli: //case 1
strcpy(nome_minima, "Napoli"); //associazione
break; //uscita
case caserta: //case 2
strcpy(nome_minima, "Caserta"); //associazione
break; //uscita
case avellino: //case 3
strcpy(nome_minima, "Avellino"); //associazione
break; //uscita
case salerno: //case 4
strcpy(nome_minima, "Salerno"); //associazione
break; //uscita
case benevento: //case 5
strcpy(nome_minima, "Benevento"); //associazione
break; //uscita
} //fine switch rig.57
switch (citta_massima) {
case napoli: //case 1
strcpy(nome_massima, "Napoli"); //associzione
break; //uscita
case caserta: //case 2
strcpy(nome_massima, "Caserta"); //associzione
break; //uscita
case avellino: //case 3
strcpy(nome_massima, "Avellino"); //associzione
break; //uscita
case salerno: //case 4
strcpy(nome_massima, "Salerno"); //associazione
break; //uscita
case benevento: //case 5
strcpy(nome_massima, "Benevento"); //associazione
break; //uscita
} //fine switch rig.74
printf("Con una temperatura di %.2f\370C, %s \x8a la pi\x97 fredda.\n", temperatura_minima, nome_minima); //testo a video
printf("Con una temperatura di %.2f\370C, %s \x8a la pi\x97 calda.\n", temperatura_massima, nome_massima); //testo a video
sleep(3); //attesa 3 secondi
system("cls"); //pulizia shell
for (temperatura=0; temperatura<=5; temperatura++) { //inizio for
banner(); //richiamo funzione
} //fine for rig.190
getch(); //mettere in pausa
return 0; //risultato funzione
} //end body