AnteriorPosterior

3.8. Operador condicional: ?

Por: Nacho Cabanes
Actualizado: 06-07-2019 12:00
Tiempo de lectura estimado: 2 min.

 

C++

3.8. Operador condicional: ?

En C y C++ hay otra forma de asignar un valor según se dé una condición o no. Es el “operador condicional” ? : que se usa

condicion ? valor1 : valor2;

y equivale a decir “si se cumple la condición, toma el valor v1; si no, toma el valor v2”. Un ejemplo de cómo podríamos usarlo sería

numeroMayor = (a>b) ? a : b;

que, aplicado a un programa sencillo, podría ser

// Introducción a C++, Nacho Cabanes
// Ejemplo 03.10:
// El operador condicional
 
#include <iostream>
using namespace std;
 
int main()
{
    int a, b, mayor;
 
    cout << "Escriba un numero: ";
    cin >> a;
    cout << "Escriba otro: ";
    cin >> b;
    mayor = (a>b) ?  a : b;
    cout << "El mayor de los numeros es " << mayor;
 
    return 0;
}

Un segundo ejemplo, que sume o reste dos números según la opción que se escoja, sería:

// Introducción a C++, Nacho Cabanes
// Ejemplo 03.11:
// Operador condicional - 2
 
#include <iostream>
using namespace std;
 
int main()
{
    int a, b, resultado;
    int operacion;
 
    cout << "Escriba un numero: ";
    cin >> a;
    cout << "Escriba otro: ";
    cin >> b;
    cout << "Escriba una operacion (1 = resta; otro = suma): ";
    cin >> operacion;
    resultado = (operacion == 1) ?  a-b : a+b;
    cout << "El resultado es " << resultado;
 
    return 0;
}

Ejercicios propuestos:

  • (3.8.1) Crear un programa que use el operador condicional para mostrar un el valor absoluto de un número de la siguiente forma: si el número es positivo, se mostrará tal cual; si es negativo, se mostrará cambiado de signo.
  • (3.8.2) Crear un programa que use el operador condicional para dar a una variable llamada “iguales” (entera) el valor 1 si los dos números que ha tecleado el usuario son iguales, o el valor 0 si son distintos.
  • (3.8.3) Usar el operador condicional para calcular el mayor de dos números.

1062 visitas desde el 20-04-2019

AnteriorPosterior