3.8. Operador condicional: ?
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.