Programma in C con ciclo while

di il
3 risposte

Programma in C con ciclo while

Devo realizzare un programma che richieda di inserire le miglia percorse e i galloni consumati a ogni pieno. Il programma deve calcolare e stampare le miglia per gallone percorse per ogni pieno. Dopo aver processato tutte le informazioni di input, il programma deve calcolare e stampare le miglia complessive per gallone percorse per tutti i pieni. Ho due problemi. Il ciclo deve arrestarsi dopo aver inserito un valore sentinella, e non so come fare per non far includere il valore sentinella nel calcolo. L'altro problema è che vorrei numeri in virgola mobile. Vi presento il codice da me scritto.


#include<stdio.h>

int main(void)

{

unsigned int galloni;
unsigned int miglia;
unsigned int totale_galloni = 0;
unsigned int totale_miglia = 0;
int miglia_galloni;
int totale_miglia_totale_galloni;

while(galloni != -1)
{printf("Inserisci i galloni\n");
scanf("%u", &galloni);

printf("Inserisci le miglia\n");
scanf("%u", &miglia);

miglia_galloni = miglia / galloni;
printf("Le miglia per gallone sono %d\n", miglia_galloni);

totale_miglia += miglia;
totale_galloni += galloni;}

totale_miglia_totale_galloni = totale_miglia / totale_galloni;

printf("Il totale delle miglia per gallone è %d\n", totale_miglia_totale_galloni);

3 Risposte

  • Re: Programma in C con ciclo while

    Non esci con il valore sentinella perché nel while la variabile che ti interessa (ossia gallone) va o inizializzata prima oppure chiedi di inserire prima del ciclo while la variabile stessa(riga 14,riga 27), ti ho riscritto il programma
    ho solo scambiato la posizione dello scanf();
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    unsigned int galloni;
    unsigned int miglia;
    unsigned int totale_galloni = 0;
    unsigned int totale_miglia = 0;
    int miglia_galloni;
    int totale_miglia_totale_galloni;
    
    printf("Inserisci i galloni\n");
    scanf("%u", &galloni);
    while(galloni != -1)
    {
    printf("Inserisci le miglia\n");
    scanf("%u", &miglia);
    
    miglia_galloni = miglia / galloni;
    printf("Le miglia per gallone sono %d\n", miglia_galloni);
    
    totale_miglia += miglia;
    totale_galloni += galloni;
    
    printf("Inserisci i galloni\n");
    scanf("%u", &galloni);
    
    }
    
    totale_miglia_totale_galloni = totale_miglia / totale_galloni;
    
    printf("Il totale delle miglia per gallone è %d\n", totale_miglia_totale_galloni);
    
    return 0;
    }
    
    se vuoi valori in virgola mobile devi usare variabili float al posto delle unsigned int oppure int, prova a cambiare.
  • Re: Programma in C con ciclo while

    Ti ringrazio, gentilissimo! Vorrei sapere ancora una cosa, visto che io sono un neofita qui sopra. Come fate a mettere il codice in un'apposita finestra?
  • Re: Programma in C con ciclo while

    Dilettante ha scritto:


    Ti ringrazio, gentilissimo! Vorrei sapere ancora una cosa, visto che io sono un neofita qui sopra. Come fate a mettere il codice in un'apposita finestra?
    Basta premere il pulsante </>
Devi accedere o registrarti per scrivere nel forum
3 risposte