funcion if-else??

maria
28 de Noviembre del 2009
hola! necesito ayuda con un ejercicio de programacion en c++. Aqui lo dejo por si alguien me puede ayudar

Escribe un programa que lea dos variables num1 y num2, ambas de tipo int, y una variable
opcion de tipo char. En función del valor de la variable opcion, el programa deberá
mostrar:
· la suma de num1 y num2, cuando el valor de opcion sea la letra ‘S’ o ‘s’,
· la resta de num1 y num2, cuando el valor de opcion sea la letra ‘R’ o ‘r’,
· el producto de num1 y num2, cuando el valor de opcion sea la letra ‘P’ o ‘p’,


yo lo he hecho asi. pero no me compila.

#include <iostream>
using namespace std;

int main (){
int num1, num2;
char opcion;

cout<<"Dame la variable num1: ";
cin>>num1;
cout<<"Dame la variable num2: ";
cin>>num2;
cout<<"Dame la opcion: ";
cin>>opcion;
if (opcion=='S' || opcion=='s')
cout<<"La suma es: "<<num1+num2<<endl;
if (opcion=='R' || opcion=='r')
cout<<"La resta es: "<<num1-num2<<endl;
if (opcion=='P' || opcion=='p')
cout<<"El producto es: "<<num1*num2<<endl;
else cout<<"Errorn";

system ("PAUSE");
return 0;
}



GRACIASSS!!!=)

prueba
28 de Noviembre del 2009
Yo lo he probado y funciona.
¿El problema a que te refieres es que si suma o resta luego da error? Para solucionar eso usa if anidados o un case

javier_h
28 de Noviembre del 2009
Si no has entendido lo que te habia dicho, el if anidado es:
if (opcion=='S' || opcion=='s')
cout<<"La suma es: "<<num1+num2<<endl;
else
{
if (opcion=='R' || opcion=='r')
cout<<"La resta es: "<<num1-num2<<endl;
else
{
if (opcion=='P' || opcion=='p')
cout<<"El producto es: "<<num1*num2<<endl;
else cout<<"Errorn";
}
}


Y con el case

int main ()
{
int num1, num2, opc;
cout<<"Dame la variable num1: ";
cin>>num1;
cout<<"Dame la variable num2: ";
cin>>num2;
cout<<"Dame la opcion: ";
cin>>opc;
switch (opc)
{
case 83: //S
case 115: //s
case 43: //+
{
cout<<"La suma es: "<<num1+num2<<endl;
break:
}
case 82: //R
case 114: //r
case 45: //-
{
cout<<"La resta es: "<<num1-num2<<endl;
break;
}
case 80: //P
case 112: //p
case 42: //*
{
cout<<"El producto es: "<<num1*num2<<endl;
break;
}
default:
cout<<"Errorn";
}

system ("PAUSE");
return 0;
}