Potreste aiutarmi con questo codice in c?

di il
4 risposte

Potreste aiutarmi con questo codice in c?

Quando vado ad eseguire questo programma non funziona come dovrebbe. Vi allego anche il testo dell'esercizio. Potreste aiutarmi? Grazie in anticipo
#include <stdio.h>

int main ()
{
int sconto, regalo_incartato, tipo_incarto, incarto;
float prezzo_regalo, prezzo_scontato, prezzo_finale;

printf ("Inserire il prezzo del regalo: ");
scanf ("%f", &prezzo_regalo);

if (prezzo_regalo<20)
{
sconto=0;
}
else
{
if (prezzo_regalo<50)
{
sconto=5;
}
else
{
if (prezzo_regalo<100)
{
sconto=10;
}
else
{
sconto=20;
}
}
}

prezzo_scontato=prezzo_regalo-(prezzo_regalo/100*sconto);

printf("Indicare con 1 se vuole che il regalo sia incartato\ncon 0 se non vuole che il regalo sia incartato:");
scanf ("%d", &regalo_incartato);

if (regalo_incartato=1)
{
printf ("Indicare con 1 se vuole il pacchetto con carta riciclata senza fiocco, \ncon 2 se vuole il pacchetto con carte normale e fiocco, \ncon 3 se vuole il pacchetto con carta plastificata lucida e doppio fiocco:");
scanf ("%d", tipo_incarto);

switch (tipo_incarto)
{
case 1:
incarto=1;
break;
case 2:
incarto=2;
break;
case 3:
incarto=4;
break;
default:
incarto=0;
}
}
else
{
incarto=0;
}

prezzo_finale=prezzo_scontato+incarto;

printf ("Il prezzo finale e' %f", prezzo_finale);

return (0);
}

4 Risposte

  • Re: Potreste aiutarmi con questo codice in c?

    Usa i tag code per postare il codice o non si capisce nulla.

    E poi spiega cosa non funziona, perché dovremmo cercare noi anche il problema?

    P.S. ti ricordo che il confronto di uguaglianza si fa con == e non con =
  • Re: Potreste aiutarmi con questo codice in c?

    Sull'if per il confronto devi mettere ==
    
    if (regalo_incartato==1)
    
    sul printf dovresti andare accapo:
    
    printf ("Indicare \ncon 1 se vuole il pacchetto con carta riciclata senza fiocco, \ncon 2 se vuole il pacchetto con carte normale e fiocco, \ncon 3 se vuole il pacchetto con carta plastificata lucida e doppio fiocco:");
    
    sul secondo scanf manca &:
    
    scanf ("%d", &tipo_incarto);
    
  • Re: Potreste aiutarmi con questo codice in c?

    L'errore è qui:
    if (regalo_incartato=1)
    {
    printf ("Indicare con 1 se vuole il pacchetto con carta riciclata senza fiocco, \ncon 2 se vuole il pacchetto con carte normale e fiocco, \ncon 3 se vuole il pacchetto con carta plastificata lucida e doppio fiocco:");
    scanf ("%d", tipo_incarto);
    devi aggiungere un = per il confronto e aggiungere & nella scanf:
    if (regalo_incartato==1)
    {
    printf ("Indicare con 1 se vuole il pacchetto con carta riciclata senza fiocco, \ncon 2 se vuole il pacchetto con carte normale e fiocco, \ncon 3 se vuole il pacchetto con carta plastificata lucida e doppio fiocco:");
    scanf ("%d", &tipo_incarto);
    Ps: se posso darti un consiglio utilizza l'indentazione quando scrivi codice, i rientri aumentano non solo la leggibilità e la comprensione ma ti aiutano anche a scovare gli errori
  • Re: Potreste aiutarmi con questo codice in c?

    Grazie mille a tutti! <3
Devi accedere o registrarti per scrivere nel forum
4 risposte