Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/09/2006, 03:59
Nivel7
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años
Puntos: 2
tu problema esta en el uso de else if,

cuando lo que queremos evaluar valores enteros, lo recomendable por facilidad y claridad es el switch.
tambien podemos usar el if pero en este caso lo correcto seria.


if(opc1)
{
//hacer 1;
}
else if(opc2)
{
//hacer 2;
}
else if(opc3)
{
//hacer 3;
}
else
{
//caso por default;
}

simepre que tengas una evaluacion mas tienes que usar else + (espacio)+ if
de lo contrario(si ya no compararas mas) usa else.


con switch seria algo como:

switch(cal)
{
case 1: //hacer 1; break;
case 2: //hacer 2; break;
case 3: //hacer 3; break;
case 4:
case 5: //hacer 4 y 5; break;
default: //hacer por default;
}

como puedes ver te permite una sintaxis mas clara y facil.

Que compilador usas?

lo pregunto por que estas usando un estilo, que no se adapta a los mas modernos compiladores de C++. imagino qu eTurbo C++ o alguna vieja vercion del VC++.

en un compilador actual, para incluir una libreria de C++:

#include <iostream> (sin .h).

using namespace std; (para acceder al espacion de nombre estandar de la lib C++).

el main:

int main()// con argumentos seria int main(int argc, char *argv[],[ (muy raramente)char *envp[] ] ).
{
return 0; //al final de tu codigo.
}

Saludos.