RISOLTO Esercizio c++

Stato
Discussione chiusa ad ulteriori risposte.

Lupen03

Nuovo Utente
141
10
Hardware Utente
Periferiche
usb, mouse,tastiera
Internet
duckduckgo
Sistema Operativo
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

Moderatore
Staff Forum
11,289
3,168
Hardware Utente
CPU
Ryzen 7 2700x
Dissipatore
Stock
Scheda Madre
Aourus Gigabyte X-470
Hard Disk
Samsung Evo 850 250gb,2tb toshiba, 500gb western digital, 160gb segate
RAM
16 gb G.Skill Tridentz 3200 mhz RGB
Scheda Video
Sapphire RX 580 8gb ddr5
Monitor
Samsung Smart TV Full HD 50 Pollici/ Hp ES 24 IPS
Alimentatore
XFX 80 plus 750 watt
Case
Aerecool xpredator x3
Sistema Operativo
Windows 10 Pro 64
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
Reactions: Tidus88

Lupen03

Nuovo Utente
141
10
Hardware Utente
Periferiche
usb, mouse,tastiera
Internet
duckduckgo
Sistema Operativo
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

Moderatore
Staff Forum
11,289
3,168
Hardware Utente
CPU
Ryzen 7 2700x
Dissipatore
Stock
Scheda Madre
Aourus Gigabyte X-470
Hard Disk
Samsung Evo 850 250gb,2tb toshiba, 500gb western digital, 160gb segate
RAM
16 gb G.Skill Tridentz 3200 mhz RGB
Scheda Video
Sapphire RX 580 8gb ddr5
Monitor
Samsung Smart TV Full HD 50 Pollici/ Hp ES 24 IPS
Alimentatore
XFX 80 plus 750 watt
Case
Aerecool xpredator x3
Sistema Operativo
Windows 10 Pro 64
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
 

Lupen03

Nuovo Utente
141
10
Hardware Utente
Periferiche
usb, mouse,tastiera
Internet
duckduckgo
Sistema Operativo
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

Moderatore
Staff Forum
11,289
3,168
Hardware Utente
CPU
Ryzen 7 2700x
Dissipatore
Stock
Scheda Madre
Aourus Gigabyte X-470
Hard Disk
Samsung Evo 850 250gb,2tb toshiba, 500gb western digital, 160gb segate
RAM
16 gb G.Skill Tridentz 3200 mhz RGB
Scheda Video
Sapphire RX 580 8gb ddr5
Monitor
Samsung Smart TV Full HD 50 Pollici/ Hp ES 24 IPS
Alimentatore
XFX 80 plus 750 watt
Case
Aerecool xpredator x3
Sistema Operativo
Windows 10 Pro 64
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

Moderatore
Staff Forum
11,289
3,168
Hardware Utente
CPU
Ryzen 7 2700x
Dissipatore
Stock
Scheda Madre
Aourus Gigabyte X-470
Hard Disk
Samsung Evo 850 250gb,2tb toshiba, 500gb western digital, 160gb segate
RAM
16 gb G.Skill Tridentz 3200 mhz RGB
Scheda Video
Sapphire RX 580 8gb ddr5
Monitor
Samsung Smart TV Full HD 50 Pollici/ Hp ES 24 IPS
Alimentatore
XFX 80 plus 750 watt
Case
Aerecool xpredator x3
Sistema Operativo
Windows 10 Pro 64
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

Utente Attivo
650
131
Hardware Utente
CPU
Ryzen 2400G
Scheda Madre
Asrock B450M Pro4
Hard Disk
MX-500 500GB
RAM
Ballistix 16GB DDR4 3000Mhz
Scheda Video
GTX 970 Compact Inno3D
Monitor
Philips 27" 278C4QHSN/00
Alimentatore
Sharkoon Silentstorm Icewind 550W
Case
Aerocool Aero-500-BC
Sistema Operativo
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
Reactions: Andretti60

Lupen03

Nuovo Utente
141
10
Hardware Utente
Periferiche
usb, mouse,tastiera
Internet
duckduckgo
Sistema Operativo
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

Moderatore
Staff Forum
11,289
3,168
Hardware Utente
CPU
Ryzen 7 2700x
Dissipatore
Stock
Scheda Madre
Aourus Gigabyte X-470
Hard Disk
Samsung Evo 850 250gb,2tb toshiba, 500gb western digital, 160gb segate
RAM
16 gb G.Skill Tridentz 3200 mhz RGB
Scheda Video
Sapphire RX 580 8gb ddr5
Monitor
Samsung Smart TV Full HD 50 Pollici/ Hp ES 24 IPS
Alimentatore
XFX 80 plus 750 watt
Case
Aerecool xpredator x3
Sistema Operativo
Windows 10 Pro 64
ti ha risposto anche @Tidus88 scrivendotelo, io te l'avevo detto a parole
 

Skills07

Moderatore
Staff Forum
11,289
3,168
Hardware Utente
CPU
Ryzen 7 2700x
Dissipatore
Stock
Scheda Madre
Aourus Gigabyte X-470
Hard Disk
Samsung Evo 850 250gb,2tb toshiba, 500gb western digital, 160gb segate
RAM
16 gb G.Skill Tridentz 3200 mhz RGB
Scheda Video
Sapphire RX 580 8gb ddr5
Monitor
Samsung Smart TV Full HD 50 Pollici/ Hp ES 24 IPS
Alimentatore
XFX 80 plus 750 watt
Case
Aerecool xpredator x3
Sistema Operativo
Windows 10 Pro 64
è int quindi = 20
 

Lupen03

Nuovo Utente
141
10
Hardware Utente
Periferiche
usb, mouse,tastiera
Internet
duckduckgo
Sistema Operativo
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