Accedi

Temperature Campania v2

PROBLEMA

Per le città della provincia della Campanaia, vengono registrate le temperature minime e massime di una giornata. Visualizzare:


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