[C] Problema Strutture

di il
4 risposte

[C] Problema Strutture

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!

4 Risposte

  • Re: [C] Problema Strutture

    Ma che dovrebbe fare quel programma e dove dà quel valore che non ti convince?
  • Re: [C] Problema Strutture

    oregon ha scritto:


    Ma che dovrebbe fare quel programma e dove dà quel valore che non ti convince?
    Praticamente devo inserire il nome di un prodotto, il suo prezzo la quantità e l'aliqutà che può essere 4,10 e 22%.Posso inserire prodotti fino quando al posto del nome del prodotto inserisco Stop. Nella somma finale che dovrebbe essere la spesa complessiva di tutti i prodotti, invece di un numero normale mi esce un cifrone assurdo. Ho paura che ho sbagliato qualche calcolo ma non mi sembra così.
  • Re: [C] Problema Strutture

    Giustamente utilizzi

    scanf("%f", &prodotto[n].prezzo);

    per il prezzo, che però hai dichiarato come int e non come float
  • Re: [C] Problema Strutture

    oregon ha scritto:


    Giustamente utilizzi

    scanf("%f", &prodotto[n].prezzo);

    per il prezzo, che però hai dichiarato come int e non come float
    Ahahaha grazie mille, ho passato 20 min ad osservare l'algoritmo e non ci sono riuscito. Grazie mille ancora!
Devi accedere o registrarti per scrivere nel forum
4 risposte