Foros del Web » Programación para mayores de 30 ;) » C/C++ »

al compilar me dice error "else" pero yo lo veo bien

Estas en el tema de al compilar me dice error "else" pero yo lo veo bien en el foro de C/C++ en Foros del Web. Ustedes ven el error? gracias de antemano Código: /* SUPERMERCADO DESCUENTA SI LA COMPRA ES >10000 @fidentis */ #include <iostream> using namespace std; int main() ...
  #1 (permalink)  
Antiguo 23/08/2012, 18:46
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 12 años, 11 meses
Puntos: 0
al compilar me dice error "else" pero yo lo veo bien

Ustedes ven el error?
gracias de antemano
Código:
/*
SUPERMERCADO DESCUENTA SI LA COMPRA ES >10000
@fidentis
*/
#include <iostream>
using namespace std;
int main()    
{
    int c, d, iva, t;
    cout<<"VALOR DE LA COMPRA";
    cin>>c;
    if ( c>100000 )
    t=c+iva-d;
    cout<<"VALOR TOTAL"<<t;
    d=c*10/100;
    cout<<"DESCUENTO"<<d;
    iva=c*20/100;
    cout<<"IVA"<<iva;    
    else
    cout<<"VALOR TOTAL"<<c;
    system("pause");
}
  #2 (permalink)  
Antiguo 23/08/2012, 19:50
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: al compilar me dice error "else" pero yo lo veo bien

Y las llaves? Solo se pueden suprimir cuando hay una única línea debajo de la sentencia if. Sería:

Código C++:
Ver original
  1. /*
  2. SUPERMERCADO DESCUENTA SI LA COMPRA ES >10000
  3. @fidentis
  4. */
  5. #include <iostream>
  6. using namespace std;
  7. int main()    
  8. {
  9.     int c, d, iva, t;
  10.     cout<<"VALOR DE LA COMPRA";
  11.     cin>>c;
  12.     if ( c>100000 )
  13.     {
  14.     t=c+iva-d;
  15.     cout<<"VALOR TOTAL"<<t;
  16.     d=c*10/100;
  17.     cout<<"DESCUENTO"<<d;
  18.     iva=c*20/100;
  19.     cout<<"IVA"<<iva;    
  20.     }
  21.     else
  22.     {
  23.     cout<<"VALOR TOTAL"<<c;
  24.     system("pause");
  25.     }
  26. }
  #3 (permalink)  
Antiguo 23/08/2012, 19:55
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: al compilar me dice error "else" pero yo lo veo bien

Te faltan las llave para hacer los bloques. Sino el if toma una sola instruccion.

Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3. int main()    
  4. {
  5.     int c, d, iva, t;
  6.     cout<<"VALOR DE LA COMPRA";
  7.     cin>>c;
  8.     if ( c>100000 ) {
  9.     t=c+iva-d;
  10.     cout<<"VALOR TOTAL"<<t;
  11.     d=c*10/100;
  12.     cout<<"DESCUENTO"<<d;
  13.     iva=c*20/100;
  14.     cout<<"IVA"<<iva;    
  15.     }else{
  16.     cout<<"VALOR TOTAL"<<c;}
  17.     system("pause");
  18. }
  #4 (permalink)  
Antiguo 24/08/2012, 15:51
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: al compilar me dice error "else" pero yo lo veo bien

muchas gracias, claro cai en cuenta de mi error despues de buscar informacion sobre los if else en la red.
  #5 (permalink)  
Antiguo 24/08/2012, 17:41
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 11 años, 8 meses
Puntos: 7
Respuesta: al compilar me dice error "else" pero yo lo veo bien

Hola!

Como recomendacion, te digo que, para parar al programa, no uses system("pause"). En tu caso no hay problema, porque es un programa simple y pequeño, y dudo que lo pases a otra compu, pero:

Al ser system una funcion de Windows, deja de ser portable, (no lo pases a Linux), ademas, es muy lerdo. Tiene que llamar al sistema, volver,etc.

Es mucho mas simple, limpiar el buffer y usar getchar();

Saludos!!!!

(Es solo una idea, nada mas, no impongo nada, jeje) Nota: No uses FFlush(Stdin ) para limpiar el buffer.

Etiquetas: compilar, int
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:13.