Esercizio No.5

Esercizio no.5:soluzione

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    double x, y;
    cout << “Inserisci le coordinate (x y): “;
    if (!(cin >> x >> y)) {
        cout << “Input non valido.\n”;
        return 0;
    }
    const double EPS = 1e-9;                    // tolleranza numerica
    auto isZero = [&](double v){ return fabs(v) <= EPS; };
    // mask: bit0 = (x==0), bit1 = (y==0)
    int mask = (isZero(x) ? 1 : 0) | (isZero(y) ? 2 : 0);
    switch (mask) {
        case 3: // x==0 e y==0
            cout << “Il punto e’ l’origine (appartiene all’intersezione dei due assi).” << endl;
            break;
        case 1: // x==0
            cout << “Il punto si trova sull’asse Y (x=0).” << endl;
            break;
        case 2: // y==0
            cout << “Il punto si trova sull’asse X (y=0).” << endl;
            break;
        default:
            cout << “Il punto non appartiene a nessun asse.” << endl;
    }
    return 0;
}

Articoli simili