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!