Problema con if e else

di Anonimizzato20146 il
32 risposte
Mi servirebbe un'aiuto con un problema di informatica:Siano dati in input i dati relativi all'acquisto di una merce con,codice merce,descrizione,quantita,prezzo unitario tipo di pagamento(contanti o rateale).Calcola e stampa l'importo totale della merce sapendo che se il pagamento è in contanti il prezzo va diminuito del 10%,se rateale va aumentato del 15%.Grazie

32 Risposte

  • E quindi ? che ci devi fare con questi input ? hai scritto già del codice ?
  • CarDeFusco ha scritto:


    E quindi ? che ci devi fare con questi input ? hai scritto già del codice ?
    No perchè mi sono bloccato sul codice merce e descrizione no capisco cosa devo fare
  • Almeno posta il codice...tra l'altro devi dirci tu cosa vuoi/devi fare, non possiamo dirtelo noi...a meno che non ci sia un chiaroveggènte tra di noi.
  • CarDeFusco ha scritto:


    Almeno posta il codice...tra l'altro devi dirci tu cosa vuoi/devi fare, non possiamo dirtelo noi...a meno che non ci sia un chiaroveggènte tra di noi.
    scusate,adesso ho corretto la traccia credo che cosi si capisce meglio
  • Ok ora la traccia è più chiara.
    Posta il codice che hai già scritto (se l'hai fatto altrimenti prova a farlo) e ci ragioniamo insieme.
  • CarDeFusco ha scritto:


    Ok ora la traccia è più chiara.
    Posta il codice che hai già scritto (se l'hai fatto altrimenti prova a farlo) e ci ragioniamo insieme.
    Quello che sono riuscito a creare velocemente
    
    #include<iostream>
    using namespace std;
    int main()
    
    {
    	int contanti,rateali,quantita,prezzotot,pagamento;
    	float prezzo,prezzorateale,prezzodefinitivo;
    	string codicemerce,descrizione;
    	const int sconto=10 aumento=20
    	
    	cout<<"inserire codice merce"<<endl;
    	cin>>codicemerce;
    	cout<<"inserire descrizione"<<endl;
    	cin>>descrizione;
    	
    	cout<<"inserire quantita"<<endl;
    	cin>>quantita;
    	cout<<"inserire prezzo"<<endl;
    	cin>>prezzo;
    	
    	prezzotot=quantita*prezzo;
    	
    	cout<<"Prezzo totale="<<prezzotot<<endl;
    	
    	cout<<"come si vuole pagare?"
    	if{
    	(pagamento=rateale)
    	prezzorateale=(prezzo*aumento)/12;
    	
    	cout<<"Il prezzo da pagare mensilmente e'"<<prezzorateale<<endl;
    	}
        else
    	{
    	prezzodefinitivo=(spesa*sconto)/100;
    	cout<<"il prezzo da pagare e'"<<prezzodefinitivo<<endl;
    	}
    	system("pause");	
    }
    
  • Questo pezzo di codice è sintatticamente sbagliato :
    if{
       (pagamento=rateale)
    }
    La sintassi esatta è questa:
    if(pagamento==rateale){
    }
    Inoltre manca il codice per valorizzare la variabile pagamento dopo la riga:
    
    cout<<"come si vuole pagare?"
    Ed infine ti conviene definirti un enumerativo dove ad esempio associ al pagamento rateale il numero 0 ed a quello in contanti il numero 1.

    Ad esempio puoi fare così:
    typedef enum {RATEALE = 0, CONTANTI = 1} TipoPagamento;
    Poi ci sarebbero da fare altre osservazioni su ciò che hai scritto nel corpo dell'if e dell'else, ma una cosa alla volta...
  • CarDeFusco ha scritto:


    Questo pezzo di codice è sintatticamente sbagliato :
    if{
       (pagamento=rateale)
    }
    La sintassi esatta è questa:
    if(pagamento==rateale){
    }
    Inoltre manca il codice per valorizzare la variabile pagamento dopo la riga:
    
    cout<<"come si vuole pagare?"
    Ed infine ti conviene definirti un enumerativo dove ad esempio associ al pagamento rateale il numero 0 ed a quello in contanti il numero 1.

    Ad esempio puoi fare così:
    typedef enum {RATEALE = 0, CONTANTI = 1} TipoPagamento;
    Poi ci sarebbero da fare altre osservazioni su ciò che hai scritto nel corpo dell'if e dell'else, ma una cosa alla volta...
    ho corretto ciò che mi avete detto
  • E quindi ... adesso qual è il codice? Funziona? Altri problemi? Puoi andare avanti da solo?

    Hai un libro di riferimento da cui studiare il linguaggio?
  • oregon ha scritto:


    E quindi ... adesso qual è il codice? Funziona? Altri problemi? Puoi andare avanti da solo?

    Hai un libro di riferimento da cui studiare il linguaggio?
    il libro scolastico che purtroppo non c'e l'ho perchè me l'hanno dato sbagliato
  • Ora prova a capire cosa c'è che non va nel calcolo dei prezzi, dentro il corpo dell'if e dell'else.

    Tra l'altro sarebbe più facile aiutarti se pubblichi il codice corretto che hai scritto, in modo da vedere se l'hai corretto bene...
  • 
    #include<iostream>
    using namespace std;
    int main()
    
    {
    	int contanti,rate,quantita,prezzotot,pagamento;
    	float prezzo,prezzorate,prezzodefinitivo;
    	string codicemerce,descrizione;
    	const int sconto=10,aumento=20;
    	
    	cout<<"inserire codice merce"<<endl;
    	cin>>codicemerce;
    	cout<<"inserire descrizione"<<endl;
    	cin>>descrizione;
    	
    	cout<<"inserire quantita"<<endl;
    	cin>>quantita;
    	cout<<"inserire prezzo"<<endl;
    	cin>>prezzo;
    	
    	prezzotot=quantita*prezzo;
    	
    	cout<<"Prezzo totale="<<prezzotot<<endl;
    	
    	cout<<"come si vuole pagare?"<<endl;
    if(pagamento==rate);
    {
    	prezzorate=(prezzotot*aumento)/12;
    	cout<<"Il prezzo da pagare mensilmente e'"<<prezzorate<<endl;
    }
        else
    {
    	prezzodefinitivo=(prezzotot*sconto)/100;
    	cout<<"il prezzo da pagare e'"<<prezzodefinitivo<<endl;
    }
    	system("pause");	
    }
    
  • bons1926 ha scritto:


    oregon ha scritto:


    E quindi ... adesso qual è il codice? Funziona? Altri problemi? Puoi andare avanti da solo?

    Hai un libro di riferimento da cui studiare il linguaggio?
    il libro scolastico che purtroppo non c'e l'ho perchè me l'hanno dato sbagliato
    Questo è un problema ma non ce l'hai noi non ci possiamo fare molto ...

    Ovviamente, come capirai, devi capire e modificare tu il programma in base ad alcuni suggerimenti, non avrebbe senso scriverlo tutto al posto tuo, non è questo lo scopo di questo forum ...

    Occhio che il ;

    if(pagamento==rate);

    non va alla fine della if
  • Scusami ma così non ci siamo. Hai corretto solo l'if (leva ';'). Ci sono gli stessi problemi di prima...
Devi accedere o registrarti per scrivere nel forum
32 risposte