elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Case label '#' not within a switch statement en: 27 Agosto 2011, 15:27 pm
Solucionado, faltaba mayuscula.
2  Programación / Programación C/C++ / Re: Case label '#' not within a switch statement en: 27 Agosto 2011, 15:16 pm
Ya lo solucione, me avia comido con corchete. Pero ahora me dice undefine reference to 'leerDato()'
3  Programación / Programación C/C++ / Case label '#' not within a switch statement en: 27 Agosto 2011, 15:07 pm
Hola a todos y desde ya muchas gracias por leer.
Practicando un programmilla en c++ no me toma los case, y lo revise y lo compare
con el original y no le veo el error

Código:
//Simulacion de una calculadora

//Preprosesador
#include <iostream>
#include <limits>

using namespace std;

//Declaracion de funciones
int menu(void);
double leerDato();


//Funcion principal
int main()
{

    double dato1 = 0, dato2 = 0, resultado = 0;
    int operacion = 0;

    while(true)
    {
        operacion = menu();
        if(operacion != 5)
        {
            //leer datos
            cout << "Ingrese dato1: "; cin >> dato1;
            cout << endl <<"Ingrese dato2: "; cin >> dato2;

            //realizar la operacion
            switch(operacion)
                case 1:
                    resultado = dato1 + dato2;
                    break;
                case 2:
                    resultado = dato1 - dato2;
                    break;
                case 3:
                    resultado = dato1 * dato2;
                    break;
                case 4:
                    if(dato2 == 0)
                        {
                            cout << "El divisor no puede ser 0" << endl;
                        }
                        else
                        {
                            resultado = dato1 / dato2;
                            break;
                        }
        }
    }


}

int menu()
{
    int op;

    cout << "Sumar - |" << endl;
    cout << "Restar - 2" << endl;
    cout << "Multiplicar - 3" << endl;
    cout << "Dividir - 4" << endl;
    cout << "Salir - 5" << endl;

    cout << "Seleccione la operacion deseada: ";
    op = static_cast<int>(leerDato());

    while(op < 1 || op > 5)
    {
        return op;
    }
}

double leerdato()
{

    double dato = 0.0;
    cin >> dato;

    while(cin.fail()) // si el dato es incorrecto limpiar el buffer y volverlo a leer
    {
        cout << '/a';
        cin.clear();
        cin.ignore(numeric_limits<int>::max(), '/n');
        return dato;
    }

}
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines