Concetti Chiave

  • Il programma richiede all'utente di inserire la quantità di merce e il costo unitario di ciascun prodotto.
  • Il prezzo finale si calcola applicando uno sconto su ogni gruppo di 3 prodotti, dove si paga solo il costo di 2 unità.
  • Le unità rimanenti, che non formano un gruppo di 3, vengono addebitate al prezzo pieno.
  • Se la quantità di merce è pari o superiore a 3, viene comunicato all'utente che ha usufruito dello sconto.
  • Il risultato finale viene mostrato all'utente, indicando l'importo totale da pagare dopo l'applicazione dell'offerta.

[/p]
[p]
#include <iostream> // Per usare [b]cout[/b] e [b]cin[/b]
[/p]
[p]
using namespace std;
[/p]
[p]
int main() {
[/p]
[p]
int [b]merce[/b], [b]costo[/b], [b]prezzofinale[/b];
[/p]
[p]
// Chiede di inserire la quantità di merce
[/p]
[p]
cout << "Inserisci la quantità di merce: ";
[/p]
[p]
cin >> merce;
[/p]
[p]
// Chiede di inserire il costo unitario
[/p]
[p]
cout << "Inserisci il costo unitario: ";
[/p]
[p]
cin >> costo;
[/p]
[p]
// Calcolo del [b][b][b][b]prezzo finale[/b][/b][/b][/b]:
[/p]
[p]
// - Ogni blocco di 3 unità di merce costa "2 * costo" (invece di 3 * costo)
[/p]
[p]
// - Le unità rimanenti (merce % 3) costano a [b]prezzo pieno[/b]
[/p]
[p]
mercepagata = (int)(merce / 3)
[/p]
[p]
prezzofinale = (mercepagata * (costo * 2)) + (merce % 3 * costo);
[/p]
[p]
// Se la merce è almeno 3, significa che è stato applicato lo "[b][b][b]sconto[/b][/b][/b]" (paghi 2 al prezzo di 3)
[/p]
[p]
if (merce >= 3)
[/p]
[p]
cout << "Hai usufruito dello sconto!\n";
[/p]
[p]
else
[/p]
[p]
cout << "Non hai potuto usufruire dello sconto.\n";
[/p]
[p]
// Mostra a schermo il prezzo finale calcolato
[/p]
[p]
cout << "Il prezzo finale è: " << prezzofinale << endl;
[/p]
[p]
return 0;
[/p]
[p]
}
[/p]
[p]

Viene chiesto all'utente di inserire due valori interi:

  • merce: la quantità totale di prodotti acquistati.
  • costo: il prezzo unitario di ogni singolo prodotto.

mercepagata = (int)(merce / 3)
[/p]
[p]
Iniziamo a contare la quantità di merce pagata
[/p]
[p]
[code]prezzofinale = (mercepagata * (costo * 2)) + (merce % 3 * costo);

Calcolo del prezzo finale

Calcoliamo il numero di "gruppi di 3 prodotti". Per ogni gruppo di 3, si paga 2 * costo invece di 3 * costo (sconto “prendi 3, paghi 2”).

merce % 3
è il “resto” di prodotti al di fuori dei gruppi da 3, che si pagano a prezzo pieno (costo).

Sommando queste due parti si ottiene il prezzo finale.

if (merce >= 3)
[/p]
[p]
cout << "Hai usufruito dello sconto!\n";
[/p]
[p]
else
[/p]
[p]
cout << "Non hai potuto usufruire dello sconto.\n";
[/p]
[p]

Se merce >= 3 significa che almeno un gruppo da 3 prodotti esiste e quindi si è effettivamente usufruito della formula “prendi 3, paghi 2”.

Altrimenti, se merce

[/p]
[p]
cout << "Il prezzo finale è: " << prezzofinale << endl;
[/p]
[p]

Output del prezzo finale

Viene mostrato a schermo l’importo totale da pagare, dopo l’applicazione dell’eventuale offerta.

Domande da interrogazione

  1. Quali informazioni deve fornire l'utente per calcolare il prezzo finale?
  2. L'utente deve inserire due valori interi: la quantità totale di merce acquistata e il costo unitario di ogni singolo prodotto.

  3. Come viene calcolato il prezzo finale della merce?
  4. Il prezzo finale si calcola considerando i gruppi di 3 prodotti, per i quali si paga 2 * costo invece di 3 * costo, e aggiungendo il costo dei prodotti rimanenti (merce % 3) a prezzo pieno.

  5. Quando l'utente può usufruire dello sconto "prendi 3, paghi 2"?
  6. L'utente può usufruire dello sconto se la quantità di merce è almeno 3, il che significa che esiste almeno un gruppo di 3 prodotti.

  7. Cosa viene mostrato all'utente al termine del calcolo?
  8. Al termine del calcolo, viene mostrato a schermo l'importo totale da pagare, dopo l'applicazione dell'eventuale offerta.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community