elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda c++  (Leído 1,970 veces)
Soulmaquine

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Ayuda c++
« en: 20 Marzo 2015, 21:48 pm »

Hola gente.
Tengo un problema que no logro detectar, en sí necesito que una variable que es un char entre en ese switch, pero no lo hace, me muestra solo el default. Ya la pase a código ASCII, porque así me lo pedía el enunciado. Y también para ver si daba lo hice en funciones pero tampoco. La verdad no sé que pasa. Gracias por cualquier cosa que puedan comentarme. Esto es el código:

Código:
#include <iostream>
#include <windows.h>

using namespace std;


int func(int num);
int main (int num)

{

char code[3];

cout<<"ingrese el codigo de la compra que desea"<<endl;
cout<<endl;
for (int x=0; x<3; x++)
{
cin>>code[x];

}
code[0]='A';
code[1]='0';
code[2];

num=code[2]-48;
cout<<num;
// num=code[2];


system("pause");

func(num);

}


int func(int num)
{
switch(num)
{
case 1: cout<<"El código es de las papitas"<<endl;
break;
case 2: cout<<"El código es de platanitos"<<endl;
break;
case 3: cout<<"El código es de chocolina pequeña"<<endl;
break;
case 4: cout<<"El código es de chocolina grande"<<endl;
break;
case 5: cout<<"El código es de maní"<<endl;
break;
case 6: cout<<"El código es de chitos"<<endl;
break;

default: cout<<"El codigo es erroneo"<<endl;
}
return 0;
}




« Última modificación: 20 Marzo 2015, 23:34 pm por Soulmaquine » En línea

NOIS

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Ayuda c++
« Respuesta #1 en: 20 Marzo 2015, 23:05 pm »

Lo he probado y si entra en el switch, no se porque podría darte error a ti, aunque hay cosas que no entiendo del código, como crear el array code, leer todos sus valores por teclado para asignar los dos primeros después por código y solo utilizar el último valor... no se si el código real será más largo o si ese es el código entero, pero aun así no le veo mucho sentido.

PD: Te recomiendo no usar mucho ese de system("pause"); ya que solo te serviría en Windows, es más práctico usar cin.get();

Saludos!


En línea

NOIS dev7
Soulmaquine

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayuda c++
« Respuesta #2 en: 20 Marzo 2015, 23:31 pm »

En realidad si, el código real es más largo, con el switch era con lo que tenía problema. Y si, también me pareció raro asignarle el valor a las dos primeras pero utilizar la última, pero así es el problema que me plantearon. Pero no entiendo por qué te da a ti y a mi no, a mí sólo me muestra: "El codigo es erroneo" independientemente del número que digite. Y gracias ya reemplazo el system("pause").

Saludos NOIS, gracias por tu tiempo.
En línea

NOIS

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Ayuda c++
« Respuesta #3 en: 21 Marzo 2015, 04:15 am »

Se me ocurre que, aunque raro, podría haber algo en el resto de tu código que por algún motivo interfiera con la entrada al switch o algo parecido, podrías poner el resto del código para analizar mejor el problema.

Saludos!
En línea

NOIS dev7
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Ayuda c++
« Respuesta #4 en: 21 Marzo 2015, 04:35 am »

no entiendo por qué te complicas si puedes hacer

Código
  1. switch(code[2])
  2. {
  3. case '1': cout<<"El código es de las papitas"<<endl;
  4. break;
  5. case '2': cout<<"El código es de platanitos"<<endl;
  6. break;
  7. case '3': cout<<"El código es de chocolina pequeña"<<endl;
  8. break;
  9. case '4': cout<<"El código es de chocolina grande"<<endl;
  10. break;
  11. case '5': cout<<"El código es de maní"<<endl;
  12. break;
  13. case '6': cout<<"El código es de chitos"<<endl;
  14. break;
  15.  
  16. default: cout<<"El codigo es erroneo"<<endl;
  17. }

o mejor aún

Código
  1. func(code[2]);
  2.  
  3.  
  4. int func(char num)
  5. {
  6. switch(num)
  7. {
  8. case '1': cout<<"El código es de las papitas"<<endl;
  9. break;
  10. case '2': cout<<"El código es de platanitos"<<endl;
  11. break;
  12. case '3': cout<<"El código es de chocolina pequeña"<<endl;
  13. break;
  14. case '4': cout<<"El código es de chocolina grande"<<endl;
  15. break;
  16. case '5': cout<<"El código es de maní"<<endl;
  17. break;
  18. case '6': cout<<"El código es de chitos"<<endl;
  19. break;
  20.  
  21. default: cout<<"El codigo es erroneo"<<endl;
  22. }
  23. return 0;
  24. }
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Soulmaquine

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayuda c++
« Respuesta #5 en: 23 Marzo 2015, 23:46 pm »

No lo podía hacer así porque en el enunciado me pedía que lo pasará a ASCII, y eso hice al ponerlo así: num=code[2]-48; y no directamente en el switch. Pero ya lo terminé, muchas gracias por responderme, después de mucho intentar si me entró en el switch.

Saludos a los dos, gracias nuevamente.  ;D
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Ayuda c++
« Respuesta #6 en: 24 Marzo 2015, 02:23 am »

:S eso es ascii :S '1' es acii en cambio 1 es decimal XD
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Soulmaquine

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayuda c++
« Respuesta #7 en: 25 Marzo 2015, 02:34 am »

Según mi profesor lo debía hacer así, yo investigue pero de todas maneras lo hice como se suponía que él exigía.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines