Código
No se como resolver esta cuestion tipo bandera que dice lo siguiente : puesto que son posibles tres tipos de errores puede usarse una variable inicializada a 0 int tipo_error=0; de tal forma que cambie al valor 1 si se produce un error debido a una fracción o ambas con denominador nulo, tome el valor 2 si la opción elegida no es válida (valor válido entre 1 y 4) y tome el valor 3 si se detecta una división por 0. En función del valor de la variable, se calculará la fracción resultado o se imprimirá el mensaje de error correspondiente.
#include <iostream> using namespace std; int main() { int a,b,c,d , opcion; cout <<"Introduzca el numerador de la primera fraccion: "; cin >>a; cout <<"Indroduzca el denominador de la primera fraccion: "; cin >> b; cout <<"Introduzca el numerador de la segunda fraccion: "; cin >>c; cout <<"Introduzca el denominador de la segunda fraccion: "; cin >>d; if(b==0 || d==0) { cout<<"Error denominador nulo"<<endl; } cout <<"Elija 1 de las 4 opciones mostradas: \n1)Suma,\n2)Resta\n3)Multiplicacion\n4)Division:\n"; cin >> opcion; if(1>opcion|| opcion>4) { cout <<"Opcion no valida..error..."<<endl; } switch (opcion) { case 1: double numerador,denominador, total; numerador=(a*d)+(b*c); denominador=b*d; total=numerador/denominador; cout <<"El resultado de la opcion es: "<<total<<endl; break; case 2: double numerador2, denominador2,total2; numerador2=(a*d)-(b*c); denominador2=b*d; total2=numerador2/denominador2; cout <<"El resultado de la opcion es: "<<total2<<endl; break; case 3: double numerador3, denominador3, total3; numerador3=a*c; denominador3=b*d; total3=numerador3/denominador3; cout <<"El resultado de la opcion es: "<<total3<<endl; break; case 4: double numerador4,denominador4,total4; numerador4=a*d; denominador4=b*c; total4=numerador4/denominador4; cout <<"El resultado de la opcion es: "<<total4<<endl; break; } }