RISOLTO Esercizio c++

Stato
Discussione chiusa ad ulteriori risposte.

Spanci03

Utente Attivo
418
87
Periferiche
usb, mouse,tastiera
Net
duckduckgo
OS
windows 7 , debian
salve a tutti , vorrei dei chiarimenti in merito a questo esercizio in c++ :

sul prezzo di un prodotto viene praticato lo sconto dell'X% se aquistiamo fino a 10 pezzi e dell'Y% se ne acquistiamo di più ... presi in input il prezzo e il numero di pezzi da acquistare , stampa la spesa da sostenere

Come dovrei effettuare questo sconto sull'intero importo ?
Grazie
 

Skills07

Head of Development
Staff Forum
Utente Èlite
35,404
11,483
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
allora avrai prefissato due variabili sconto: ad esempio
C#:
int x = 5;
int y = 8;

che sono i due sconti. Poi in input ti chiede il numero di pezzi ad esempio 10 come dici tu:
C#:
variabile data da inserimento = 10;

avrai il pezzo del prodotto ed il numero di pezzi che hai inserito prima:
applicherai un if per fare il calcolo
C#:
if(numpezzi = 10){
applico sconto x
}else if(numpezzi >10){
applico sconto y
}
 
  • Mi piace
Reazioni: Tidus88

Spanci03

Utente Attivo
418
87
Periferiche
usb, mouse,tastiera
Net
duckduckgo
OS
windows 7 , debian
ho inziato a fare la codifica ,...ma non so cosa sbaglio ...

C++:
//librere
#include<iostream>
using namespace std;
//Sconto in percentuale applicato ad un certo numero di pezzi acquistati
int main(){
    int Prezzoprodotto,Npezzi,Scontoprodotto,PrezzoTotale1,PrezzoTotale2;
    cout<<"inserisci il prezzo del prodotto : ";
    cin>>Prezzoprodotto;
    cout<<"inserisci il numero di pezzi da acquistare : ";
    cin>>Npezzi;
    if(Npezzi<10)
      Scontoprodotto=Prezzoprodotto*10/100;
      PrezzoTotale1=Prezzoprodotto-Scontoprodotto;
    if(Npezzi>10)
      Scontoprodotto=Prezzoprodotto*20/100;
      PrezzoTotale2=Prezzoprodotto-Scontoprodotto;
    cout<<"Il prezzo totale della spesa da sostenere e' : "<<PrezzoTotale1<<endl;
    cout<<"Il prezzo totale della spesa da sostenere e' : "<<PrezzoTotale2<<endl;
    getchar();
}


Quindi x e y li devo inserire nell'int ? e poi dichiararli come hai fatto tu ?
Poi come faccio a fare il conto del prezzo di tutta la spesa già con lo sconto?
Dice anche se acquistiamo fino a 10 pezzi , quindi può essere numeropezzi <=10 ?
 

Skills07

Head of Development
Staff Forum
Utente Èlite
35,404
11,483
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
in economia funziona cosi ho il costo di un oggetto mettiamo sia 110€.
Sai che il negoziante ti fa lo sconto del 5 se ne acquisti 10, del 8 se ne acquisti piu di 10.
Tu sai quanti pezzi acquisti.

Il totale sarà num di pezzi * costo pezzo singolo ad esempio
Codice:
110 * 10 = 1100
a questi 1100 applichi lo sconto del 5
Codice:
()1100 * 5)/100 = 55

il totale sarà dato da 1100 - 55.

Stessa cosa nella condizione > 10 pezzi
 

Spanci03

Utente Attivo
418
87
Periferiche
usb, mouse,tastiera
Net
duckduckgo
OS
windows 7 , debian
in economia funziona cosi ho il costo di un oggetto mettiamo sia 110€.
Sai che il negoziante ti fa lo sconto del 5 se ne acquisti 10, del 8 se ne acquisti piu di 10.
Tu sai quanti pezzi acquisti.

Il totale sarà num di pezzi * costo pezzo singolo ad esempio
Codice:
110 * 10 = 1100
a questi 1100 applichi lo sconto del 5
Codice:
()1100 * 5)/100 = 55

il totale sarà dato da 1100 - 55.

Stessa cosa nella condizione > 10 pezzi
Quindi cosa devi aggiustare nella mia codifica ?
Le variabili x e y si devono mettere nell'int?
Quindi npezzi<=10 va bene oppure solo <10

Inviato da SM-J530F tramite App ufficiale di Tom\'s Hardware Italia Forum
 

Skills07

Head of Development
Staff Forum
Utente Èlite
35,404
11,483
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
direi uno sconto è una cifra int (è 5, 10, 15, 20) non ho mai visto lo sconto del 22,33%

se è fino a 10 allora si usa <= a 10 se è solo 10 si usa l'uguale
 

Skills07

Head of Development
Staff Forum
Utente Èlite
35,404
11,483
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
fino a 10 è <= nel primo if, nel secondo if sarà > 10.
Ma ti ho spiegato già tutto devi solo scrivere il codice.

Inizializzi i due sconti
metti il numero di pezzi
metti il prezzo singolo
e in base al numero di pezzi ti calcoli il totale scontato e lo restituisci
 

Tidus88

From another world
Utente Èlite
2,038
1,738
CPU
Ryzen 5600X
Dissipatore
Deepcool GAMMAX 400
Scheda Madre
Asus Prime B450-Plus
HDD
MX-500 500GB
RAM
Ballistix 16GB DDR4 3000Mhz
GPU
RTX 3060Ti Dual ASUS
Audio
Edifier R1280db
Monitor
Hisense H55U7A
PSU
Sharkoon Silentstorm Icewind 550W
Case
Corsair 275R Airflow White
Net
SkyWifi FTTH
OS
Windows 10
Io noto che utilizzi 2 variabili 'PrezzoTotale' che non hanno molto senso. Alla fine la formula per calcolare il totale è sempre la stessa e cambia solo la percentuale di sconto... in pseudocodice farei così:


Codice:
scontoOver10 = 20
scontoDeflt = 10

cin>>>prezzoProdotto
cin>>>nrPezzi

if (nrPezzi > 10)
{
    sconto = scontoOver10
}
else
{
    sconto = scontoDeflt
}

prezzoTotale = prezzoProdotto - (prezzoProdotto * sconto / 100)

cout <<< "Il prezzo totale per "<<<nrPezzi<<<" pezzi è "<<<prezzoTotale<<<endl


EDIT:

Faccio presente solo che l'intero blocco if/else potrebbe essere sostituito dal più sintetico (e meno leggibile) operatore ternario:
Codice:
sconto = (nrPezzi > 10) ? scontoOver10 : scontoDeflt
 
Ultima modifica:
  • Mi piace
Reazioni: Andretti60

Spanci03

Utente Attivo
418
87
Periferiche
usb, mouse,tastiera
Net
duckduckgo
OS
windows 7 , debian
fino a 10 è 10.
Ma ti ho spiegato già tutto devi solo scrivere il codice.

Inizializzi i due sconti
metti il numero di pezzi
metti il prezzo singolo
e in base al numero di pezzi ti calcoli il totale scontato e lo restituisci
Si ma come scrivo che il prezzo totale è il prezzo prodotto- sconto ??
cioè come lo inserisco nell'if ?

Inviato da SM-J530F tramite App ufficiale di Tom\'s Hardware Italia Forum
 

Skills07

Head of Development
Staff Forum
Utente Èlite
35,404
11,483
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
ti ha risposto anche @Tidus88 scrivendotelo, io te l'avevo detto a parole
 

Skills07

Head of Development
Staff Forum
Utente Èlite
35,404
11,483
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
è int quindi = 20
 

Spanci03

Utente Attivo
418
87
Periferiche
usb, mouse,tastiera
Net
duckduckgo
OS
windows 7 , debian
Fatta la codifica:
C++:
//librere
#include<iostream>
using namespace std;
//Sconto in percentuale applicato ad un certo numero di pezzi acquistati
int main(){
    int Prezzoprodotto,Npezzi,Scontoprodotto,PrezzoTotale1,PrezzoTotale2;
    cout<<"inserisci il prezzo del prodotto : ";
    cin>>Prezzoprodotto;
    cout<<"inserisci il numero di pezzi da acquistare : ";
    cin>>Npezzi;
    if(Npezzi<=10)
      {
      Scontoprodotto=Prezzoprodotto*10/100; 
      PrezzoTotale1=Prezzoprodotto-Scontoprodotto;
       }
    if(Npezzi>10)
      {
      Scontoprodotto=Prezzoprodotto*20/100;
      PrezzoTotale2=Prezzoprodotto-Scontoprodotto;
       }
    cout<<"Il prezzo totale della spesa da sostenere e' : "<<PrezzoTotale1<<endl;
    cout<<"Il prezzo totale della spesa da sostenere e' : "<<PrezzoTotale2<<endl;
    getchar();
}

Ma mi da 2 risultati 347191
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili