Menú principal

sábado, 5 de septiembre de 2020

Comprobar si valor esta en intervalo - C++

Se pide realizar un programa que solicite al usuario los extremos de un intervalo y otro valor. El programa deberá comprobar si el valor introducido se encuentra dentro del intervalo descrito por el mismo usuario.

/*----------------------------------------------------------------
Pide extremos de un intervalo [a,b] y un valor c.
El programa comprueba si c esta fuera o dentro de ese intervalo
y si esta a la izquierda o a la derecha del mismo.
-------------------------------------------------------------------*/
#include <iostream>
using namespace std;

int main()
{
    double a, b, c;

    //Introduccion de datos por teclado
    cout << "Extremo inferior del intervalo: ";
    cin >> a;

    cout << "Extremo superior del intervalo: ";
    cin >> b;

    cout << endl << "Valor a comprobar: ";
    cin >> c;

    if(a<=b) //Si el extremo inferior es menor que el extremo superior
    {
        //Comparacion del valor c con los extremos del intervalo
        if( (a<=c) && (c<= b) ) //si c esta entre a y b
            cout << endl << "El valor " << c << " esta DENTRO del intervalo [" << a << "," << b << "]" << endl;

        else // C NO esta entre a y b
        {
            cout << endl << "El valor " << c << " esta FUERA del intervalo [" << a << "," << b << "]" ;

            if(c<a)
                cout << " y a la IZQUIERDA del mismo" << endl;
            else
                cout << " y a la DERECHA del mismo" << endl;
        }
    }
    else //si a>b
        cout << "ERROR: el extremo inferior no puede ser mayor que el superior" << endl;


///-------------------OTRA FORMA DE HACERLO-----------------------------------------------
//    if (c>=a && c<=b) //Si c esta en el intervalo
//        cout << endl << "El valor " << c << " esta DENTRO del intervalo [" 
//             << a << "," << b << "]" << endl;
//
//    else if(c<a) //Si c es menor que a estara a la izquierda del intervalo
//        cout << endl <<"El valor " << c << " esta FUERA del intervalo [" 
//             << a << "," << b << "]" << " y a la IZQUIERDA del mismo" << endl;
//
//    else //Si c es mayor que b estara a la derecha del intervalo
//        cout << endl <<"El valor " << c << " esta FUERA del intervalo [" 
//                     << a << "," << b << "]" << " y a la DERECHA del mismo" << endl;
///----------------------------------------------------------------------------------------
    return 0;
}

No hay comentarios:

Publicar un comentario