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.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int valor;
int suma;
cout << "Vamos a crear mi primer programa con condiciones y input " << '\n'<<'\n';
cout << "Por favor incresa un numero" << endl;
cin >> valor;
cout << "Ahora vamos a incresar otro numero para sumarlos" << endl;
cin >> suma;
cout << "La suma de ambos numeros es " << valor + suma << endl << endl;
if (valor + suma > 0)
cout << "El valor es positivo" << endl;
else (valor + suma < 0);
cout << "El valor es negativo" << endl;
cout << endl;
system ("pause");
return 0;
}
Gracias por el tiempo.
El else se hace así:
if(){
}else if(){
}
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:
if(...);
cout << 'a';
En ese caso, el cout 'a' se va a ejecutar siempre, porque el if se termina al encontrar el ;
Cita de: ivancea96 en 8 Agosto 2017, 11:25 AM
El else se hace así:
if(){
}else if(){
}
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:
if(...);
cout << 'a';
En ese caso, el cout 'a' se va a ejecutar siempre, porque el if se termina al encontrar el ;
Corregido, gracias mil.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int valor;
int suma;
cout << "Vamos a crear mi primer programa con condiciones y input " << '\n'<<'\n';
cout << "Por favor incresa un numero" << endl;
cin >> valor;
cout << "Ahora vamos a incresar otro numero para sumarlos" << endl;
cin >> suma;
cout << "La suma de ambos numeros es " << valor + suma << endl << endl;
if (valor + suma > 0) {
cout << "La suma es positiva" << endl;
}
else if (valor + suma < 0) {
cout << "La suma es negativa" << endl;
}
system ("pause");
return 0;
}
y por consecuencia logica te falta un else... no cubres todos los casos... si es 0, el programa no reflejará nada