Ciao ragazzi ho fatto un esercizio che mi ha dato il prof, il problema e' che mi da una cifra totalmente sballata e non capisco il perche', mi ci sto scervellando da un po' ma continuo a non capire:
#include <stdio.h>
#include <string.h>
struct Prodotti{
char DescrizioneProdotto[20];
int prezzo;
int quantita;
};
struct Prodotti prodotto[100];
int main(){
int i=0,scelta,n=1;
float somma=0,sconto;
char NomeProdotto1[] = "Stop";
while(i=1){
printf("Inserire nome del prodotto: ");
scanf("%s", &prodotto[n].DescrizioneProdotto);
if(strcmp (NomeProdotto1,prodotto[n].DescrizioneProdotto) == 0){
printf("La somma da pagare equivale a: %.2f euro.",somma);
return 0;
}
printf("Inserire il prezzo del prodotto: ");
scanf("%f", &prodotto[n].prezzo);
printf("Inserire la quantita' del prodotto: ");
scanf("%d", &prodotto[n].quantita);
printf("Inserire aliquota' sconto (4,10,22): ");
scanf("%d", &scelta);
switch(scelta){
case 4:
sconto=prodotto[n].prezzo*4/100;
somma=somma+prodotto[n].quantita*(prodotto[n].prezzo-sconto);
i++;
break;
case 10:
sconto=prodotto[n].prezzo*10/100;
somma=somma+prodotto[n].quantita*(prodotto[n].prezzo-sconto);
i++;
break;
case 22:
sconto=prodotto[n].prezzo*22/100;
somma=somma+prodotto[n].quantita*(prodotto[n].prezzo-sconto);
i++;
break;
}
n++;
}
printf("La somma da pagare equivale a: %.2f euro.",somma);
return 0;
}
Grazie mille in anticipo!