Convertitore temperature
PROBLEMA
Scrivere un algoritmo che legga una sequenza di numeri interi strettamente maggiori di 0 terminante con uno 0 e ne ricerca il valore minimo visualizzandolo sullo schermo.
RAPPRESENTAZIONE TECNICO-ILLUSTRTIVA
Farsi dare il numero se risulta diverso da zero, se il conteggio è uguale a 0 assegnare a “numero_inserito” il valore della variabile numero, e poi incrementare la variabile conteggio. Poi se “numero_inserito” è maggiore del numero inserito associare ad “numero_inserito” il valore della variabile numero altrimenti non fare nulla. Ripetere tutto ciò finché non viene inserito lo 0 per terminare l’inserimento della sequenza, alla fine mostrare la variabile “numero_inserito” cioè il valore minimo inserito.
TABELLA DATI
IDENTIFICATORE | DESCRIZIONE |
---|---|
Restat | Variabile modificabile dall’utente per decide il continuo o la chiusura del programma di tipo intero |
Scelta_menu | Scelta del menu per indicare l’unità base di misura della temperatura inserita di tipo intero |
Valore | Temperatura inserita dall’utente di tipo float |
Celsius | Temperatura convertita in Celsius di tipo float |
Fahrenheit | Temperatura convertita in Fahrenheit di tipo float |
Kelvin | Temperatura convertita in Kelvin di tipo float |
DIAGRAMMA A BLOCCHI
Clicca qui per visualizzare il Diagramma a blocchi.
CODICE SORGENTE
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
//Sezione dichiaratica
int restart, scelta_menu, i=1;
float valore, celsius, fahrenheit, kelvin;
//interfaccia
do {
do {
//visualizza menu
system("cls");
printf("1. Base della temperatura in Celsius\n");
printf("2. Base della temperatura in Fahrenheit\n");
printf("3. Base della temperatura in kelvin\n");
printf("\nInserire preferenza: ");
scanf("%d", &scelta_menu);
} while(scelta_menu<=0 || scelta_menu>=4);
do {
system("cls");
if (scelta_menu==3){
printf("Inserire temperatura (minimo -273.15K): ");
}
else{
printf("Inserire temperatura: ");
}
scanf("%f", &valore);
} while(valore<-273.15 && scelta_menu==3);
printf("\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
system("cls");
//Scelta 1
if (scelta_menu==1){
//calcoli e output
fahrenheit=(valore*1.8)+32;
printf("\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
printf("\nfahrenheit:\t%f\t|", fahrenheit);
if (valore>-273.14){
kelvin=valore+273.15;
printf("\nKelvin:\t\t%f\t|", kelvin);
}
else{
printf("\nKelvin:\t\tIMPOSSIBILE\t|");
}
printf("\nCelsius:\t%f\t|", valore);
printf("\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
}
else{
//Scelta 2
if (scelta_menu==2){
//calcoli e output
celsius=(valore-32)*(0.555);
printf("\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
printf("\ncelsius:\t%f\t|", celsius);
if (valore>-951.34){
kelvin=(valore+459.67)*(0.555);
printf("\nKelvin:\t\t%f\t|", kelvin);
}
else {
printf("\nKelvin:\t\tIMPOSSIBILE\t|");
}
printf("\nFahrenheit:\t%f\t|", valore);
printf("\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
}
//scelta 3
else{
//calcoli e output
celsius=valore-273.15;
printf("\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
printf("\nCelsius:\t%f\t|", celsius);
fahrenheit=(valore*1.8)-459.67;
printf("\nFahrenheit:\t%f\t|", fahrenheit);
printf("\nKelvin:\t\t%f\t|", valore);
printf("\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
}
}
printf("\n\nInserisci 0 per ritornare al menu' oppure un altro numero per chiude il programma: ");
scanf("%d", &restart);
} while (restart==0);
//uscita dal programma
system("cls");
printf("\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
for(i=1;i<3;i++){
sleep(1);
printf("\nGrazie per aver utilizzato il convertitore");
printf("\t\t|");
}
printf("\n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\n");
system("pause");
return 0;
}