Buonasera non tiene conto del prezzo scontato

di il
6 risposte

Buonasera non tiene conto del prezzo scontato

Dovrebbe fare la somma tra il prezzo inferiore scontato del 30% e quello maggiore ma non funziona. 

Dove ho sbagliato 

Grazie mille

#include <iostream>//librerie
using namespace std;

float prezzo_primo_prodotto;//dichiarazioni delle variabili globali
float prezzo_secondo_prodotto;
float importo_totale;
float prezzo_primo_prodotto_scontato;
float prezzo_secondo_prodotto_scontato;
float prezzo();//prototipo di funzione
float sconto_primo_prodotto();
float sconto_secondo_prodotto();

int main()// funzione main
{
    cout << "Buongiorno, inserire il prezzo del primo prodotto" <<endl;
    cin >> prezzo_primo_prodotto;
   
    cout << "Buongiorno, inserire il prezzo del secondo prodotto" <<endl;
    cin >> prezzo_secondo_prodotto;
 importo_totale = prezzo();
    prezzo_primo_prodotto_scontato = sconto_primo_prodotto();// chiamata della funzione
    prezzo_secondo_prodotto_scontato = sconto_secondo_prodotto();
    cout << "l'importo totale è di " <<importo_totale<< " euro" << endl;
    return 0;
}
float prezzo()//implementazione della funzione
{
  if (prezzo_primo_prodotto<prezzo_secondo_prodotto)
  {
 importo_totale = prezzo_secondo_prodotto + prezzo_primo_prodotto_scontato;  
  }
  else
    importo_totale = prezzo_primo_prodotto + prezzo_secondo_prodotto_scontato;  
 
  return importo_totale;
}

float sconto_primo_prodotto()//implementazione della funzione
{
prezzo_primo_prodotto_scontato = prezzo_primo_prodotto-(prezzo_primo_prodotto*30/100);
   
   return prezzo_primo_prodotto_scontato;
    }
float sconto_secondo_prodotto()//implementazione della funzione
{
prezzo_secondo_prodotto_scontato = (prezzo_secondo_prodotto)-(prezzo_secondo_prodotto*30/100);
   
   return prezzo_secondo_prodotto_scontato;
    }

6 Risposte

  • Re: Buonasera non tiene conto del prezzo scontato

    Scusa ma questa linea

    importo_totale = prezzo();

    la fai eseguire prima di calcolare i prezzi scontati?

    Che senso ha farla eseguire prima?

    P.S. leggi il Regolamento prima di usare il forum. Formatta il codice per inserirlo nel forum

    P.P.S. non ha senso utilizzare variabili globali, usa variabili locali

  • Re: Buonasera non tiene conto del prezzo scontato

    Grazie mille Oregon

    Adesso funziona perfettamente e ho anche capito dove sbagliavo.

  • Re: Buonasera non tiene conto del prezzo scontato

    Hai solo due importi? È solo per motivi di studio? Un quiz?

    Crei un array dinamico

    Alla fine ordini per prezzo, il più basso lo riduci del 30% e poi fai la sommatoria degli elementi dell'array.

    Cos'è una funzione per il supermecato “il meno caro lo paghi la metà”?

    Saprai alla fine qual è il meno caro. Ergo aggiungi la riga riduzione promo -50% su xxx €yyy (il fisco vuole che sia esposto lo sconto e se su tutto o su un articolo)

    Totale: sempre la sommatoria includendo il -50% articolo xyz.

    Giacché lo sconto è lineare, puoi calcolarlo indifferentemente sia sul prezzo imponibile che sul prezzo ivato di quel prodotto meno caro.

    Perché tutte quelle variabili e tutto quel codice?

  • Re: Buonasera non tiene conto del prezzo scontato

    Solo per motivi di studio 

    Dovevo usare almeno 2 funzioni 

  • Re: Buonasera non tiene conto del prezzo scontato

    09/11/2024 - GigiMrwhite ha scritto:


    Solo per motivi di studio 

    Dovevo usare almeno 2 funzioni 

    Addirittura due funzioni?

    Una per ordinare l'array, calcolare lo sconto e aggiornare l'importo piu basso.

    Una per fare la sommatoria dell'array corretto

    Anche se potrebbe essere una sola funzione..

    Anche se hai due prezzi un array dinamico vale da 1 a n elementi.

  • Re: Buonasera non tiene conto del prezzo scontato

    09/11/2024 - GigiMrwhite ha scritto:


    Dovrebbe fare la somma tra il prezzo inferiore scontato del 30% e quello maggiore ma non funziona. 

    Forse ho capito male?

    Se stai calcolando lo sconto:

    Ps=Pl(1-r/100)

    Quindi se r=30%

    prezzolordo(1-30/100)

    Da racchiudere come funzione.

    Da come hai scritto “somma del prezzo inferiore scontato e prezzo maggiore”

    Somma=prezzolordo+prezzoscontato

    Oppure 

    somma=somma+prezzolordo

    Anche in questo caso tre righe di calcolo e tre o quattro variabili (prezzoscontato potrebbe essere somma)

    Le variabili: Prezzolordo, prezzoscontato, somma, tassodisconto.

    Mi sfugge qualcosa?

Devi accedere o registrarti per scrivere nel forum
6 risposte