training

Code I wrote during training
git clone git://git.bitsmanent.org/training
Log | Files | Refs | README

getkm.c (1535B)


      1 /* Esercizio 3.17 (Cap. 3)
      2  * Mostra i Km per litro di ogni tanta e, infine, di tutte le tange assieme.
      3  *
      4  -*- Pseudo-codice -*-
      5  Primo raffinamento:
      6     Prende i Km percorsi e i litri utilizzati per ogni pieno.
      7     Calcola i Km per litro di ogni pieno 
      8     Calcola i Km per litro totali
      9 
     10   Secondo raffinamento:
     11     Inizializzo il totale dei Km
     12     Inizializzo il totale dei Litri
     13 
     14     prendi il numero dei litri (o il valore dummy)
     15     prendi il numero dei Km
     16 
     17     Finche' non viene immesso il valore dummy
     18        dividi i km inseriti per i litri inseriti
     19        stampa il risultato
     20        salva la somma dei litri
     21        salva la somme dei Km
     22 
     23        prendi il numero dei litri (o il valore dummy)
     24        se non e' stato inserito il valore dummy
     25          prendi il numero dei Km
     26 
     27     dividi il totale dei Km per il totale dei Litri
     28     stampa il risultato
     29  -*- Fine Pseudo-codice -*-
     30 */
     31 
     32 #include <stdio.h>
     33 
     34 int main()
     35 {
     36    int tot_km=0, km; /* Kilometri */
     37    float tot_litri=0, litri; /* Litri */
     38 
     39    printf("Numero di litri utilizzati (-1, esce): ");
     40    scanf("%f", &litri);
     41 
     42    /* Calcolo i Km/l per il pieno corrente */
     43    while(litri != -1) {
     44       printf("Numero di Km percorsi: ");
     45       scanf("%d", &km);
     46       tot_litri += litri;
     47       tot_km += km;
     48 
     49       printf("Km percorsi per litro: %f\n\n", km / litri);
     50 
     51       printf("Numero di litri utilizzati (-1, esce): ");
     52       scanf("%f", &litri);
     53    }
     54 
     55    /* Calcolo i Km/l per il totale dei pieni */
     56    printf("Totale Km/l: %f\n", tot_km / tot_litri);
     57 
     58 
     59 } /* E0F main */
     60