Controllo di un piano cartesiano, con un valore x v0.02

di Anonimizzato27769 il
10 risposte
Non riesco a capire per quale problema il controllo II or non mi funziona, credo di non aver capito bene il concetto.
Risolto, mancava la variabile , mentre il case non accetta gli OR.
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    srand(time(0));
    bool booleano = true;
    while (booleano)
    {
        cout<< "Inserisci il valore da controllare sul piano cartesiano :";
        int numero;
        cin >> numero;
        cout << "Vuoi contrallare il  secondo numero in maniera casuale (Y/N) : ";
        char risposta;
        cin>> risposta;


        switch(risposta)
        {
        case 'Y':
        case 'y':
            {
                cout<< "numero massimo da sorteggiare ? : ";
                int maxy;
                cin >> maxy;
                maxy++;
                int casuale = rand()%maxy;
                if(numero > casuale)
                {
                    cout << "Il numero si trova alla sinistra di : " << casuale;
                }
                else
                {
                    if (numero == casuale)
                    {
                        cout << "Il numero e' uguale a : " << casuale;
                    }
                    else
                    {
                    cout << "Il numero e' alla destra di :" << casuale;
                    }
                }
                break;

            }
        case 'n':
        case 'N':
            {
                int secondovalore;
                cout<<"inserisci il secondo valore : ";
                cin>> secondovalore;
                if(numero > secondovalore)
                {
                    cout << "Il numero si trova alla sinistra di : " << secondovalore;
                    }
                    else
                    {
                    if (numero == secondovalore)
                        {
                            cout << "Il numero e' uguale a : " << secondovalore;
                        }
                        else
                        {
                            cout << "Il numero e' alla destra di :" << secondovalore;
                        }
                    }
                    break;
            }
        default:
            {
                cout << "    QI : 80   " << endl;
                    break;
            }
        }//chiusura switch
        char ripetizione;
        cout << endl << "Vuoi ripetere il ciclo ? (Y/N) : ";
        cin >> ripetizione;
        if(ripetizione == 'n' || ripetizione == 'N')
            booleano=false;

    } // chiusura bool
    cout << "Finito " ;
    return 0;
}

10 Risposte

  • TheorLaw ha scritto:


    _Achille ha scritto:


    Https://en.cppreference.com/w/cpp/language/switc

    E qui tanto vale usare un if-else…
    si stavo solo provando, ma come mai l'or non funziona neanche sull'if ?
    L’operatore || funziona correttamente sia per integral types che per bool
  • TheorLaw ha scritto:


    Non riesco a capire per quale problema il controllo II or non mi funziona, credo di non aver capito bene il concetto.
    case 'n' || 'N': // NON VAAA
    
  • _Achille ha scritto:


    TheorLaw ha scritto:


    _Achille ha scritto:


    Https://en.cppreference.com/w/cpp/language/switc

    E qui tanto vale usare un if-else…
    si stavo solo provando, ma come mai l'or non funziona neanche sull'if ?
    L’operatore || funziona correttamente sia per integral types che per bool
    Quindi la sequenza commentata è corretta ?
  • No
  • _Achille ha scritto:


    No
    il case non accetta l or ?
  • TheorLaw ha scritto:


    _Achille ha scritto:


    No
    il case non accetta l or ?
    No.

    Scrivi
    
    case 'Y':
    case 'y:
    ....
    break;
    
    e questo vale per l'OR
  • oregon ha scritto:


    TheorLaw ha scritto:


    _Achille ha scritto:


    No
    il case non accetta l or ?
    No.

    Scrivi
    
    case 'Y':
    case 'y:
    ....
    break;
    
    e questo vale per l'OR
    Avevo già risolto, grazie per la delucidazione
Devi accedere o registrarti per scrivere nel forum
10 risposte