[C con Clase] Problema con else en función
Marcelo
marcefont en gmail.com
Dom Sep 2 16:03:55 CEST 2012
Hola, recien me estoy iniciando en C++. Uso Borland Builder 6 y he hecho una modificación en un programa que antes funcionaba correctamente, si bien es muy pequeña, ahora no funciona y me da un error en el 'else' final. El código es el siguiente:
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
//---------------------------------------------------------------------------
#pragma argsused
float calcular ();
int ban = 0;
float main(int argc, char* argv[])
{
float total;
total = calcular ();
if (!ban)
cout << "\n\n\tEl resultado de su operacion es: " << total;
else cout << "\n\n\tLa operación no se pudo realizar. ";
system ("pause");
return 0;
}
float calcular ()
{
int opc , a , b ;
cout << "¿Que operacion desea realizar?\n 1 = Suma; 2 = Resta; 3 = Multiplicar; 4 = Dividir: ";
cin >> opc;
cout << "Ingrese el primer valor: "; cin >> a;
cout << "\nIngrese el segundo valor: "; cin >> b;
switch (opc) {
case 1:
return a + b;
break;
case 2:
return a - b;
break;
case 3:
return a * b;
break;
case 4:
if (!b) cout << "No se puede dividir por 0.";
ban = 1;
else return a / b;
}
}
y éste el error que me da, lo que agregué es el marcador 'ban' para que no me muestre el mensaje de resultado si el dividendo es 0.
[C++ Error] Unit1.cpp(48): E2054 Misplaced else
Desde ya muchísimas gracias y felicitaciones por la página, está muy buena y es de mucha ayuda. Estoy haciendo un curso de C++ y la página me ayuda para ampliar conocimientos. :-(
Más información sobre la lista de distribución Cconclase