Newsgroup: it.comp.lang.c++
Titolo: dove sta l'errore

Sto facendo l'esercizio 2.49 del Deitel che chiede di inserire per 5
prodotti la quantità venduta e calcola il fatturato settimanale usando i
prezzi di ogni prodotto.
Non riesco a capire perchè come risultato del fatturato mi da sempre 0.00
Ho provato con due listati differenti ma il risultato è sempre quello.
// esercizio 2.49
// programma per calcolare il fatturato settimanale
#include <iostream.h>
#include <iomanip.h>
int main()
{
   int prodotto, quant;
   float fatturato = 0, prezzo = 0;
   for ( int counter = 1 ; counter <= 5 ; counter++ ){
      cout << " prodotto: ";
      cin >> prodotto;
      cout << "quantità: ";
      cin >> quant;
      switch ( prodotto ) {
         case '1':
            prezzo = quant * 2.98;
            fatturato = fatturato + prezzo;
            break;
         case '2':
            prezzo = quant * 4.50;
            fatturato = fatturato + prezzo;
            break;
         case '3':
            prezzo = quant * 9.98;
            fatturato = fatturato + prezzo;
            break;
         case '4':
            prezzo = quant * 4.49;
            fatturato = fatturato + prezzo;
            break;
         case '5':
            prezzo = quant * 6.87;
            fatturato = fatturato + prezzo;
            break;
         }
      }
      cout << "il fatturato della settimana è pari a $ " << setprecision(2)
<< setiosflags ( ios::fixed | ios::showpoint ) << fatturato;
      return 0;
   }
// esercizio 2.49
// programma per calcolare il fatturato settimanale
#include <iostream.h>
#include <iomanip.h>
int main()
{
   int prodotto, quant;
   float fatturato = 0, prezzo = 0;
   for ( int counter = 1 ; counter <= 5 ; counter++ ){
      cout << " prodotto: ";
      cin >> prodotto;
      cout << "quantità: ";
      cin >> quant;
      switch ( prodotto ) {
         case '1':
            prezzo = static_cast<float>(quant) * 2.98;
            fatturato = fatturato + prezzo;
            break;
         case '2':
            prezzo = static_cast<float>(quant)* 4.50;
            fatturato = fatturato + prezzo;
            break;
         case '3':
            prezzo = static_cast<float>(quant)* 9.98;
            fatturato = fatturato + prezzo;
            break;
         case '4':
            prezzo = static_cast<float>(quant) * 4.49;
            fatturato = fatturato + prezzo;
            break;
         case '5':
            prezzo = static_cast<float>(quant) * 6.87;
            fatturato = fatturato + prezzo;
            break;
         }
      }
      cout << "il fatturato della settimana è pari a $ " << setprecision(2)
<< setiosflags ( ios::fixed | ios::showpoint ) << fatturato;
      return 0;
   }

             break;
...

Ma non lo usi il debuger? Bastava mettere un breakpoint allo switch e te ne 
accorgevi in 1 secondo.

 ne accorgevi in 1 secondo.
IL debugger di Dev C++ non mi da errori.
-- 
Frodo Baggins
Webmaster di Arrampicata.net 
http://www.arrampicata.net
Webmaster di Neverwinter Nights Italia 
http://bebbbo.altervista.org

 
Beh, il debugger non e' tanto intelligente da dirti che hai sbagliato...
E' solo uno strumento per aiutare il programmatore a vedere cosa succede 
nell'esecuzione del codice; dovrebbe essere compito del programmatore 
capire (in base alle informazioni date dal debugger) dove sta l'errore...
-- 
Roal Zanazzi