Ayuda con variable tipo Bandera

Iniciado por Soulklax, 4 Octubre 2016, 16:42 PM

0 Miembros y 1 Visitante están viendo este tema.

Soulklax

Código (cpp) [Seleccionar]

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