Ciao a tutti, ho provato a risolvere il problema, ma non capisco cos'è che non funzioni. Non è un problema di analisi, il problema è semplice. Ho sbagliato a strutturare il programma? Ecco l'esercizio:
- Una ditta produce pacchetti di sale. Tali pacchetti devono contenere 1 Kg di sale con una tolleranza in più o in meno del 2%. Costruisci un algoritmo che, data in ingresso la sequenza dei pesi dei pacchetti (che termina con 0), fornisca:
1) I pacchetti di peso corretto, sottopeso e sovrappeso;
2) Il peso totale della merce nei pacchetti a norma ed il peso totale dei pacchetti fuori norma;
Ecco il mio algoritmo: (L'unica cosa di cui non ho tenuto conto è 'la sequenza che termina con 0 dei pacchetti', che non ho capito a cosa serve, cosa significa, e come inserire una condizione simile.. mi aiutereste?)
codice:#include <iostream> using namespace std; int main () { float peso, somma, somma2, cont=0, num; int flag, n; cout <<endl; cout <<"Quanti pacchetti vuoi inserire?"<<endl; cin >> n; while (cont<n) { cout <<"Inserisci il peso del pacchetto di sale in Kg."<<endl; cin >> peso; cont=cont+1; if (peso==1) { cout <<"Il pacchetto è in norma"<<endl; flag=0; peso=num; } if (peso>1) { cout <<"Il pacchetto è sovrappeso"<<endl; flag=1; } if (peso<1) { cout <<"Il pacchetto è sottopeso"<<endl; flag=1; } } if (flag==0) { somma=somma+num; cout <<"Il peso dei pacchetti in norma è "<<somma<<endl; } if (flag==1) { somma2=somma2+peso; cout <<"Il peso dei pacchetti fuori norma è "<<somma<<endl; } return 0; system ("Pause"); }

Rispondi quotando