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

Tengo el siguiente código y el compilador me marca 'else' without a previous 'if'

Estas en el tema de Tengo el siguiente código y el compilador me marca 'else' without a previous 'if' en el foro de C/C++ en Foros del Web. Aca esta el codigo: ¿En donde se encuentra el error? #include <iostream> using namespace std; int main () { float Promedio, Nota1, Nota2, Nota3, Nota4, ...
  #1 (permalink)  
Antiguo 31/03/2016, 18:45
 
Fecha de Ingreso: marzo-2016
Mensajes: 20
Antigüedad: 8 años, 7 meses
Puntos: 0
Pregunta Tengo el siguiente código y el compilador me marca 'else' without a previous 'if'

Aca esta el codigo: ¿En donde se encuentra el error?


#include <iostream>

using namespace std;

int main ()
{
float Promedio, Nota1, Nota2, Nota3, Nota4, Nota5;

Promedio=0;
Nota1=0;
Nota2=0;
Nota3=0;
Nota4=0;
Nota5=0;

cout << "\nIntroduzca Nota 1: ";
cin >> Nota1;

cout << "\nIntroduzca Nota 2: ";
cin >> Nota2;

cout << "\nIntroduzca Nota 3: ";
cin >> Nota3;

cout << "\nIntroduzca Nota 4: ";
cin >> Nota4;

cout << "\nIntroduzca Nota 5: ";
cin >> Nota5;

Promedio= (Nota1+Nota2+Nota3+Nota4+Nota5)/5;

if (Promedio >= 9,5)

cout <<"\nPuede inscribir 55 unidades:" << endl;
cout <<"\nEl descuento es de: 2475 dolares" << endl;
cout << "\nTotal a pagar: 7425 dolares" << endl;

else if (Promedio > 9 && Promedio < 9,5)

cout <<"\nPuede inscribir 50 unidades:" << endl;
cout <<"\nEl descuento es de: 900 dolares" << endl;
cout << "\nTotal a pagar: 9000 dolares" << endl;

else
cout <<"\nPuede inscribir 40 unidades:" << endl;

system("PAUSE");

return 0;
}
  #2 (permalink)  
Antiguo 31/03/2016, 20:27
 
Fecha de Ingreso: marzo-2016
Mensajes: 7
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Tengo el siguiente código y el compilador me marca 'else' without a previo

Solo te faltaban los {} en los if y else, entonces seria asi:
Código C++:
Ver original
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main ()
  6. {
  7. float Promedio, Nota1, Nota2, Nota3, Nota4, Nota5;
  8.  
  9. Promedio=0;
  10. Nota1=0;
  11. Nota2=0;
  12. Nota3=0;
  13. Nota4=0;
  14. Nota5=0;
  15.  
  16. cout << "\nIntroduzca Nota 1: ";
  17. cin >> Nota1;
  18.  
  19. cout << "\nIntroduzca Nota 2: ";
  20. cin >> Nota2;
  21.  
  22. cout << "\nIntroduzca Nota 3: ";
  23. cin >> Nota3;
  24.  
  25. cout << "\nIntroduzca Nota 4: ";
  26. cin >> Nota4;
  27.  
  28. cout << "\nIntroduzca Nota 5: ";
  29. cin >> Nota5;
  30.  
  31. Promedio= (Nota1+Nota2+Nota3+Nota4+Nota5)/5;
  32.  
  33. if (Promedio >= 9,5){
  34.  
  35. cout <<"\nPuede inscribir 55 unidades:" << endl;
  36. cout <<"\nEl descuento es de: 2475 dolares" << endl;
  37. cout << "\nTotal a pagar: 7425 dolares" << endl;
  38.  
  39. }else if (Promedio > 9 && Promedio < 9,5){
  40.  
  41. cout <<"\nPuede inscribir 50 unidades:" << endl;
  42. cout <<"\nEl descuento es de: 900 dolares" << endl;
  43. cout << "\nTotal a pagar: 9000 dolares" << endl;
  44.  
  45. }else
  46. cout <<"\nPuede inscribir 40 unidades:" << endl;
  47.  
  48. system("PAUSE");
  49.  
  50. return 0;
  51. }
  #3 (permalink)  
Antiguo 31/03/2016, 20:58
 
Fecha de Ingreso: marzo-2016
Mensajes: 20
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Tengo el siguiente código y el compilador me marca 'else' without a previo

Tan pequeño el detalle revise varias veces y es la primera ves que sucede esto ya que he usado varios if and else if sin las llaves y funcionan correctamente! GRACIAS
  #4 (permalink)  
Antiguo 31/03/2016, 21:02
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Respuesta: Tengo el siguiente código y el compilador me marca 'else' without a previo

Cuando después del if solo hay una sentencia, no hay necesidad de llaves, pero cuando hay mas de una, las llaves son forzosas.
Lo mismo sucede con todas las estructuras de control menos el switch-case.

Saludos

Etiquetas: ayuda!!
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 11:42.