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");
}