3E e 3I Sia: Gestione di array paralleli con stringhe in C++ con spazi e arrotondamento dei totali di valori reali con due posizioni decimali


 

#include <iostream>

#include<string>

#include <cmath>

#define N 5

using namespace std;


int main () {

    char descrizione [N];

    float importo[N], quantita[N], totale_singolo_articolo[N];

    float fatturamax, fatturamin, totale;

    int i;

    

    for (i=0; i<2; i++) {

        cout<<"Inserire la quantita' del prodotto n.: "<<i<<endl;

        cin>>quantita[i];

        // pulire il buffer dell'operatore cin

        cout<<"Inserire la descrizione del prodotto n.: "<<i<<endl;

        cin.sync();

// inserire la stringa con lo spazio all'interno di un array di stringhe

cin.getline(descrizione, 200);

        cout<<"Inserire l'importo del prodotto n.: "<<i<<endl;

        cin>>importo[i];

        totale_singolo_articolo[i]=(importo[i]*quantita[i])+((importo[i]*quantita[i])*0.22);

    }

    fatturamax=totale_singolo_articolo[0];

    fatturamin=totale_singolo_articolo[0];

       for(i=0; i<N; i++)  {

        if (totale_singolo_articolo[i]>fatturamax) 

            fatturamax=totale_singolo_articolo[i];

        }

           for(i=0; i<N; i++) {

        if (totale_singolo_articolo[i]<fatturamin) 

            fatturamin=totale_singolo_articolo[i];

                       }

        for (i=0; i<N; i++) {

totale=totale+totale_singolo_articolo[i];

    }

    float totale1 = round(totale * 100) / 100;

    float fatturamax1 = round(fatturamax * 100) / 100;

    float fatturamin1 = round(fatturamin * 100) / 100;

    //std::cout << value << std::endl;   

    cout<<"Il totale della fattura e'   "<<totale1<<endl;

    cout<<"L'importo maggiore e' "<<fatturamax1<<endl;

    cout<<"L'importo minore e' "<<fatturamin1<<endl;


}


Commenti

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

Esercizi sulla rappresentazione della virgola mobile IEEE 754 (Floating Point)