Salve, sto eseguendo un esercizio che mi chiede di inserire il numero di litri e i chilometri e calcolare i litri per chilometro in un ciclo while e una volta finito il ciclo calcolare il totale dei litri per il totale dei chilometri. Ho assegnato tutto in float e qui allego il codice:
quando vado ad eseguirlo se uso il punto il codice funziona se uso la virgola l'output impazzisce e mi da valori a caso.
se vi può essere utile eseguo su linux mint 20
Ringrazio anticipatamente per le risposte.
C:
#include <stdio.h>
int main()
{
float chilometri, litriBenzina, totaleLitri, totaleChilometri, chilometri_per_litri, totaleKm_L;
totaleChilometri = 0;
totaleLitri = 0;
printf("Inserisci il valore dei litri di benzina, per terminare inserire -1:");
scanf("%f", &litriBenzina);
while (litriBenzina != -1){
printf("\nInserisci il valore dei chilometri:");
scanf("%f", &chilometri);
chilometri_per_litri = chilometri / litriBenzina;
printf("\nIl rapporto tra chilometri e litri è uguale a %f", chilometri_per_litri);
totaleLitri += litriBenzina;
totaleChilometri += chilometri;
printf("\nInserisci il valore dei litri di benzina, per terminare inserire -1\n");
scanf("%f", &litriBenzina);
}
if (litriBenzina == -1)
{
printf("NON HAI INSERITO I LITRI DI BENZINA\n");
}
else {
totaleKm_L = (float) totaleChilometri / totaleLitri;
printf("IL RAPPORTO TOTALE TRA CHILOMETRI E LITRI È UGUALE A %f\n", totaleKm_L);
}
return 0;
}
se vi può essere utile eseguo su linux mint 20
Ringrazio anticipatamente per le risposte.