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

[SOLUCIONADO] Problema con sentencia switch

Estas en el tema de Problema con sentencia switch en el foro de C/C++ en Foros del Web. hola, soy nuevo en el foro ,y también nuevo en esto de la programación c++,ahora mismo estoy en proceso de aprendizaje , y tengo una ...
  #1 (permalink)  
Antiguo 23/05/2014, 11:06
Avatar de jscmanuel  
Fecha de Ingreso: mayo-2014
Mensajes: 29
Antigüedad: 9 años, 10 meses
Puntos: 0
Problema con sentencia switch

hola, soy nuevo en el foro ,y también nuevo en esto de la programación c++,ahora mismo estoy en proceso de aprendizaje , y tengo una duda con un programa que e echo básico ,con la sentencia switch , a uso compilador geany ,y cuando ejecuto el programa todo funciona, menos los case que no se ,parece que no existen , este el programa:

#include <iostream>
using namespace std;

int main(){
float vol, anp, res, x;
int opc;

cout<<"Calculo Ley de ohms"<<endl;
cout<<"==================="<<endl;
cout<<"Haya el Voltaje"<<endl;
cout<<"Haya el Amperaje"<<endl;
cout<<"Haya la resistencia"<<endl;
cout<<"Indique opción: ";cin>>opc;
switch (opc)
{
case '1':
cout<<"Introduce Amperaje: ";cin>>anp;
cout<<"Introduce Resistencia: ";cin>>res;
x=anp*res;
cout<<"El Voltaje es: "<<x<<endl;
break;

case '2':
cout<<"Introduce Voltaje: ";cin>>vol;
cout<<"Introduce Resistencia: ";cin>>res;
x=vol/res;
cout<<"El Amperaje es: "<<x<<endl;
break;

case '3':
cout<<"Introduce Voltaje: ";cin>>vol;
cout<<"Introduce Amperaje: ";cin>>anp;
x=vol/anp;
cout<<"La Resistencia es: "<<x<<endl;
break;

default : cout<<"Elije una Opcion valida"<<endl;
}
return 0;
}
gracia y espero vuestra ayuda ,

Última edición por jscmanuel; 23/05/2014 a las 11:29
  #2 (permalink)  
Antiguo 23/05/2014, 11:33
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Problema con sentencia switch

El problema es que los casos esperan una entrada char, ya que los defines así:
Código C++:
Ver original
  1. case '1':
  2. case '2':
Al ponerle las comillas sencillas indicas que esperas un char.
La solución puede pasar por definir opc como char, o cambiar a
Código C++:
Ver original
  1. case 1:
  2. case 2:
sin las comillas simples.
En mi opinión es mejor definir la entrada como char.
Y además...debes de cambiar "haya" (tipo de árbol, tiempo verbal de "haber") por "halla"(del verbo "hallar")
  #3 (permalink)  
Antiguo 23/05/2014, 11:54
Avatar de jscmanuel  
Fecha de Ingreso: mayo-2014
Mensajes: 29
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Problema con sentencia switch

jajajaja perdón, con la emoción de mi primer programa me olvide de la hallar jejeje gracias ,por la ayuda es lo único que le faltaba gracias, e seguido tu opinión y la e definido como char ,

Última edición por jscmanuel; 23/05/2014 a las 12:00

Etiquetas: funcion, int, programa, sentencia, switch
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 10:00.