Domanda Utilizzo virgole e punti

KHAN21

Utente Bronze
9 Gennaio 2021
36
16
3
29
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:
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;
}
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.
 
In italia utilizzi la ',' per la cifre decimali, ma in programmazione si usa il '.' . (E non solo in programmazione)
Puoi risolvere semplicemente cambiando , -> . quando ricevi il dato in input