Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Hakim en 8 Agosto 2017, 10:31 am



Título: Primer programa con condiciones - Como presentar la mejor solución
Publicado por: Hakim en 8 Agosto 2017, 10:31 am
 Saludos nuevamente, hace dos días comencé la clase de programación en la universidad y estoy apurándome a caer en tiempo con el lenguaje.

Por que cuando la respuesta es negativo aparece correctamente en el resultado pero al ser positivo lo declara también negativo.

Código
  1. #include "stdafx.h"
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. int valor;
  9. int suma;
  10.  
  11.  
  12. cout << "Vamos a crear mi primer programa con condiciones y input " << '\n'<<'\n';
  13. cout << "Por favor incresa un numero" << endl;
  14. cin >> valor;
  15. cout << "Ahora vamos a incresar otro numero para sumarlos" << endl;
  16. cin >> suma;
  17. cout << "La suma de ambos numeros es " << valor + suma << endl << endl;
  18. if (valor + suma > 0)
  19. cout << "El valor es positivo" << endl;
  20. else (valor + suma < 0);
  21. cout << "El valor es negativo" << endl;
  22. cout << endl;
  23. system ("pause");
  24.  
  25.    return 0;
  26. }

Gracias por el tiempo.


Título: Re: Primer programa con condiciones - Como presentar la mejor solución
Publicado por: ivancea96 en 8 Agosto 2017, 11:25 am
El else se hace así:
Código
  1. if(){
  2. }else if(){
  3. }

Nótese que en tu código no pusiste el if después del else, con lo cual no es una condición.
Y pusiste ';', con lo cual se lo toma como una sentencia:
Código
  1. if(...);
  2. cout << 'a';
En ese caso, el cout 'a' se va a ejecutar siempre, porque el if se termina al encontrar el ;


Título: Re: Primer programa con condiciones - Como presentar la mejor solución
Publicado por: Hakim en 9 Agosto 2017, 07:35 am
El else se hace así:
Código
  1. if(){
  2. }else if(){
  3. }

Nótese que en tu código no pusiste el if después del else, con lo cual no es una condición.
Y pusiste ';', con lo cual se lo toma como una sentencia:
Código
  1. if(...);
  2. cout << 'a';
En ese caso, el cout 'a' se va a ejecutar siempre, porque el if se termina al encontrar el ;

Corregido, gracias mil.

Código
  1. #include "stdafx.h"
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. int valor;
  9. int suma;
  10.  
  11.  
  12. cout << "Vamos a crear mi primer programa con condiciones y input " << '\n'<<'\n';
  13. cout << "Por favor incresa un numero" << endl;
  14. cin >> valor;
  15. cout << "Ahora vamos a incresar otro numero para sumarlos" << endl;
  16. cin >> suma;
  17. cout << "La suma de ambos numeros es " << valor + suma << endl << endl;
  18. if (valor + suma > 0) {
  19. cout << "La suma es positiva" << endl;
  20. }
  21. else if (valor + suma < 0) {
  22. cout << "La suma es negativa" << endl;
  23. }
  24.  
  25. system ("pause");
  26.  
  27.    return 0;
  28. }


Título: Re: Primer programa con condiciones - Como presentar la mejor solución
Publicado por: engel lex en 9 Agosto 2017, 07:40 am
y por consecuencia logica te falta un else... no cubres todos los casos... si es 0, el programa no reflejará nada