[C] Esercizio sui prodotti venduti in una settimana

di il
3 risposte

[C] Esercizio sui prodotti venduti in una settimana

Salve a tutti. Ho un grosso problema con un programma. La traccia è questa [pre]Click sull'immagine per visualizzare l'originale[/pre]

ed il codice che ho implementato io è questo
#include <stdio.h>

main (){
	
	int product_number, daily_amount, n=1, m=1;
	float total_amount1, total_amount2, total_amount3, total_amount4, total_amount5;
	
	
	while (n<=7){
		printf("Giorno %d\n", n);
		
		for (m=1; m<=5; m++){
			printf("\nInserisci:\n1. Il numero di prodotto\n");
			scanf("%d", &product_number);
			printf("2.La quantita' venduta nel giorno %d\n", n);
			scanf("%d", &daily_amount);
			
			switch(product_number){
			
			case 1: 
			total_amount1=daily_amount*2.96;
			break;
		
			case 2:
			total_amount2=daily_amount*4.50;
			break;
			
			case 3: 
			total_amount3=daily_amount*9.98;
			break;
			
			case 4: 
			total_amount4=daily_amount*4.49;
			break;
			
			case 5: 
			total_amount5=daily_amount*6.87;
			break;
			}	
		
		}
	n++;
	
	}

printf("Le vendite totali al dettaglio di tutti i prodotti venduti nell'ultima settimana sono:\n");
printf("1. %f\n", total_amount1);
printf("2. %f\n", total_amount2);
printf("3. %f\n", total_amount3);
printf("4. %f\n", total_amount4);
printf("5. %f\n", total_amount5);
}
Ma non capisco una cosa. Perchè mi stampa solo gli ultimi valori?

3 Risposte

  • Re: [C] Esercizio sui prodotti venduti in una settimana

    Non so se sto interpretando bene, ma ti basta sommare...
    
    total_amount1+=daily_amount*2.96;
    
    Inoltre devi inizializzare tutte le variabile total_amountX a 0 prima di iniziare il loop....
  • Re: [C] Esercizio sui prodotti venduti in una settimana

    Mi potresti spiegare perchè? non ci sarei mai arrivato ahah
  • Re: [C] Esercizio sui prodotti venduti in una settimana

    Luke96 ha scritto:


    Mi potresti spiegare perchè? non ci sarei mai arrivato ahah
    Come prima cosa se vuoi avere il totale delle spese per prodotto, devi sommare ogni volta che ti viene inserita una quantità per un certo tipo di prodotto. Io ho semplicemente aggiunto += che non fa altro che fare:
    
    total_amount1 = total_amount1 +(daily_amount*2.96);
    
    Inoltre le variabili locali di una funzione non sono inizializzate per magia, ma le devi inizializzare tu. Dato che vuoi la somma della settimana, tutte le tue variabili che conterranno le varie somme dovranno partire da 0.
Devi accedere o registrarti per scrivere nel forum
3 risposte