the while works however in the end the "selezione" variable becomes double for example by inserting FA the variable will become faFA and this does not allow the if to work. i know that there is an error but i cant find it, i am not that good so as u can see in my name dont insult me :)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <ctype.h>
int main(){
int i=0;
double fa,ce,ke;
char selezione[2];
printf("Scegli l'unita di misura da convertire:\n\n digita fa per fahrenheit\n digita ce per celsius \n digita ke per kelvin \n"); //selezione unità di misura
gets(selezione);
while (selezione[i]){
putchar(tolower(selezione[i]));
i++;
}
puts(selezione);
if (strcmp(selezione,"fa")==0) {
printf("Inserisci il valore fahrenheit da convertire: ");
scanf("%lf",&fa);
ce=(fa-32)/1.8; //conversione da fahrenheit
ke=((5/9.0)*(fa-32))+273.15;
printf("%f fahrenheit sono:\n%f gradi celsius\n%f kelvin",fa,ce,ke);
}
else if (strcmp(selezione,"ce")==0){
printf("Inserisci il valore celsius da convertire: ");
scanf("%lf",&ce);
fa=(ce*(9/5.0))+32; //conversione da celsius
ke=ce+273.15;
printf("%f gradi celsius sono:\n%f fahrenheit\n%f kelvin",ce,fa,ke);
}
else if (strcmp(selezione,"ke")==0){
printf("Inserisci il valore kelvin da convertire: ");
scanf("%lf",&ke);
fa=((ke-273.15)*(9/5))+32; //conversione da kelvin
ce=(ke-273.15);
printf("%f kelvin sono:\n%f fahrenheit\n%f fradi celsius",ke,fa,ce);
}
else {
printf("Carattere non riconosciuto, riprova");
}
}