Problema su c++

di il
1 risposte

Problema su c++

La traccia è questa :Progettare un algoritmo che risolve il seguente problema:
prendere in input due variabili di tipo intero effettuare il confronto se le due
variabili sono uguali, effettuare la moltiplicazione delle due variabili e
fornire il risultato in output,
altrimenti verificare se la prima variabale è minore della seconda,
se la condizione è verificata controllare se i due numeri forniti in input sono
dispari e stampare il risultato dell'operazione;
altrimenti stampare il numero maggiore.
Successivamente tradurre la soluzione trovata in C++.

#include <iostream>
using namespace std;

int main (){
int a,b,ris;
cout<<"Inserire il valore di a"<<endl;
cin>>a;
cout<<"Inserire il valore di b"<<endl;
cin>>b;

if (a==b){
ris = a*b;
cout<<"Il prodotto è "<<ris<<endl;
}

else{
         if (a<b)
         if (a%2==0)
         cout<<"a è pari"<<endl;
   
else {

    cout<<" a è dispari"<<endl;
}
   
else {

        cout<<"a è maggiore"<<endl;
}
       
        system ("pause");
        return (0);
        }
}


il mio codice è questo ma il problema è che mi da un errore riguardo l'else prima di cout "a è maggiore" come faccio a far si che quel cout si leghi alla prima condizione ovvero (a<b). Grazie a chi risponderà.

1 Risposte

  • Re: Problema su c++

    Quando scrivi il codice sul forum, per favore usa il tag code (seleziona il codice e clicca sul pulsante "</>").
    Non ho capito che problema ti da. A me non da errori e l'ultimo else è già legato a if(a<b), infatti se questa condizione è vera, quel messaggio non viene stampato.
    Se hai difficoltà a capire a quale if si riferisce l'else, puoi mettere tutto il sotto if, compreso il rispettivo else, tra parentesi graffa. Alla chiusura delle graffe puoi scrivere in un commento quale if stai chiudendo in modo da facilitarne la rilettura.
    
    #include <iostream>
    using namespace std;
    
    int main (){
    int a,b,ris;
    cout<<"Inserire il valore di a"<<endl;
    cin>>a;
    cout<<"Inserire il valore di b"<<endl;
    cin>>b;
    
    if (a==b){
        ris = a*b;
        cout<<"Il prodotto è "<<ris<<endl;
    }
    
    else
        {
             if (a<b)
             {
                if (a%2==0)
                    cout<<"a è pari"<<endl;
       
                else 
                    cout<<" a è dispari"<<endl;
                    
             } //if(a<b)
             
             else 
                cout<<"a è maggiore"<<endl;
                
        } //if(a==b)
    
        system ("pause");
        return (0);
            
    }
    
Devi accedere o registrarti per scrivere nel forum
1 risposte