#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;
}
}
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.