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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


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

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda soy un poco nobato en c++
« en: 16 Agosto 2012, 23:51 pm »

No entiendo porque al compilar... el programa el menu de opciones no llama las funciones solo me pide el numero y dspss de eso¡¡ me aparece la interfaz de menu e inmediato sin escoger la opcion me aparecee lo que tengo en el default, agradezco respuesta :D


#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;
int llenado(int numero);
float valor_absoluto(int numero);
int cambio_numeros(int numero);


int main()
{
  int opcion, cambio, llenar, numero;
  float case1;
 
  llenar = llenado(numero); 
 
  cout<<endl<<endl;
  cout<<"\t\t ESCOJA LA OPCION QUE DESEA"<<endl<<endl;
  cout<<" 1. HALLAR EL VALOR ABSOLUTO DE UN NUMERO"<<endl;
  cout<<" 2. SI EL NUMERO ES PAR CAMBIARLO POR 1 EN CASO CONTRARIO ES 0"<<endl;
  cout<<" 3. IMPRIMIR"<<endl;
  cout<<" 4. SALIR"<<endl;
 
  switch(opcion)
  {
    case 1:
         case1 = valor_absoluto(numero);
         cout<<case1;
         break;
    case 2:
         cambio = cambio_numeros(numero);
         cout<<cambio;
         break;
    case 3:
         llenar = llenado(numero);
         cout<<llenar;
    case 4:
         exit(0);
         break;
    default:
         cout<<endl<<endl;
         cout<<"tLA OPCION INGRESADA NO ESTABA DENTRO DEL MENU";
         break;
  }
 
  cout<<endl;
  system("pause");
}       
   
int llenado(int numero)
{
  int rta;
  cout<<"DIGITE UN NUMERO DESEADO A EVALUAR CON EL SIGUIENTE MENU: ";
  cin>>numero;
 
  rta = numero;
 
  return rta;
}

float valor_absoluto(int numero)
{
  int rta;
 
  if(numero < 0)
  {
    rta = numero * (-1);
  }
  else
  {
    rta = numero * 1;
  }     
 
  return rta;
}

int cambio_numeros(int numero)
{
  int residuo, rta;
 
  residuo = numero % 2;

  if(residuo == 0)
  {
    rta = 1;
  }
  else
  {
    rta = 0;
  }
 
  return rta;
}
             
   


En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Ayuda soy un poco nobato en c++
« Respuesta #1 en: 16 Agosto 2012, 23:58 pm »

¡Hola! Por favor la proxima vez que publiques hazlo bajo las etiquetas GeSHi que colorean el código , ahora lo hago yo. Por lo demás , no importa que seas noVato en C++ , por lo primero no deberías usar conio, por lo segundo es lógico que no te coja el numero para el menú porque no lo pides y en opcion no hay ningun número , bueno sí el generado por el compilador. Me huele esto a tarea copiada...Y aquí no se hacen tareas lo digo de antemano.
Código
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. using namespace std;
  5. int llenado(int numero);
  6. float valor_absoluto(int numero);
  7. int cambio_numeros(int numero);
  8.  
  9.  
  10. int main()
  11. {
  12.  int opcion, cambio, llenar, numero;
  13.  float case1;
  14.  
  15.  llenar = llenado(numero);
  16.  
  17.  cout<<endl<<endl;
  18.  cout<<"\t\t ESCOJA LA OPCION QUE DESEA"<<endl<<endl;
  19.  cout<<" 1. HALLAR EL VALOR ABSOLUTO DE UN NUMERO"<<endl;
  20.  cout<<" 2. SI EL NUMERO ES PAR CAMBIARLO POR 1 EN CASO CONTRARIO ES 0"<<endl;
  21.  cout<<" 3. IMPRIMIR"<<endl;
  22.  cout<<" 4. SALIR"<<endl;
  23.  
  24.  switch(opcion)
  25.  {
  26.    case 1:
  27.         case1 = valor_absoluto(numero);
  28.         cout<<case1;
  29.         break;
  30.    case 2:
  31.         cambio = cambio_numeros(numero);
  32.         cout<<cambio;
  33.         break;
  34.    case 3:
  35.         llenar = llenado(numero);
  36.         cout<<llenar;
  37.    case 4:
  38.         exit(0);
  39.         break;
  40.    default:
  41.         cout<<endl<<endl;
  42.         cout<<"tLA OPCION INGRESADA NO ESTABA DENTRO DEL MENU";
  43.         break;
  44.  }
  45.  
  46.  cout<<endl;
  47.  system("pause");
  48. }      
  49.  
  50. int llenado(int numero)
  51. {
  52.  int rta;
  53.  cout<<"DIGITE UN NUMERO DESEADO A EVALUAR CON EL SIGUIENTE MENU: ";
  54.  cin>>numero;
  55.  
  56.  rta = numero;
  57.  
  58.  return rta;
  59. }
  60.  
  61. float valor_absoluto(int numero)
  62. {
  63.  int rta;
  64.  
  65.  if(numero < 0)
  66.  {
  67.    rta = numero * (-1);
  68.  }
  69.  else
  70.  {
  71.    rta = numero * 1;
  72.  }    
  73.  
  74.  return rta;
  75. }
  76.  
  77. int cambio_numeros(int numero)
  78. {
  79.  int residuo, rta;
  80.  
  81.  residuo = numero % 2;
  82.  
  83.  if(residuo == 0)
  84.  {
  85.    rta = 1;
  86.  }
  87.  else
  88.  {
  89.    rta = 0;
  90.  }
  91.  
  92.  return rta;
  93. }
           


« Última modificación: 17 Agosto 2012, 00:04 am por avesudra » En línea

Regístrate en
CSQCasimiro

Desconectado Desconectado

Mensajes: 20



Ver Perfil
Re: Ayuda soy un poco nobato en c++
« Respuesta #2 en: 17 Agosto 2012, 03:16 am »

bueno, acordate, el cout es "sacar" (out en ingles)  datos en pantallas, y el cin es para ingresar (in en ingles) datos, ej:

Código:
cout[b]<<[/b]"hola mundo"<<endl;
cin  [b]>>[/b] variable;

ahora hace un intento de leer tu propio codigo linea por linea, vas a ver que a la variable opcion que controla tu dato jamas le ingresas un valor con cin, como primer instancia, y como segunda instancia, si yo ingreso, por ejemplo, un 6, va al default, y termina el programa, ya que no quedan mas instrucciones. esto es la estructura de un menu:

Código
  1.  
  2. char opcion;
  3. bool loop=true; //las variables tipo bool, solo poseen dos posibles valores, 0 y 1 (true / false)
  4.  
  5. while (loop)
  6. {
  7. cout<<"opciones de menu"<<endl;
  8.  
  9. cout<<"eleccion: ";
  10.  
  11. cin >> opcion;
  12.  
  13.  switch (opcion)
  14.  {
  15. //cases del switch, acordate que es tipo char, iran entre comillas simples los case, ej: case '1' :
  16. //eso es para evitar errores mas adelante....
  17.  
  18. case '4':
  19. loop=false //corta el while y termina programa
  20. break;
  21.  
  22. default:
  23. system("CLS"); //limpia pantalla, termina switch, encuentra la llave de cierra del while, y empiesa del principio
  24. break;
  25.  }
  26.  
  27. }
  28.  
En línea

"Mejora el Algoritmo, no el Código"
"Buscando todos los días ser mejor que ayer"
ecfisa

Desconectado Desconectado

Mensajes: 114


Ver Perfil
Re: Ayuda soy un poco nobato en c++
« Respuesta #3 en: 17 Agosto 2012, 04:58 am »

Hola Cristhian.

También podes optimizar un poco el código de las funciones.

Código
  1. unsigned int valor_absoluto (int nro) {
  2.  if (nro < 0)
  3.    nro *= -1;
  4.  return nro;
  5. }
  6.  
  7. unsigned short int cambio_numeros(int nro) {
  8.  if (nro % 2)
  9.    return 0;
  10.  else
  11.    return 1;
  12. }
  13.  

Saludos.

Edito: Casi me olvidaba, aunque sutílmente ya lo mencionaron, por favor novato con 'v'  :)
« Última modificación: 17 Agosto 2012, 05:16 am por ecfisa » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
mmm.. un poco de ayuda
Diseño Gráfico
mastertianmat3 1 1,741 Último mensaje 18 Agosto 2005, 05:53 am
por aNexos
pregunta de nobato en asm
ASM
B14573R 8 5,804 Último mensaje 25 Diciembre 2009, 22:15 pm
por MCKSys Argentina
Poco a poco voy progresando en el mundo del hacking.
Hacking Wireless
alpha015 8 6,518 Último mensaje 22 Septiembre 2011, 18:45 pm
por alpha015
NO SE QUE HAGO MAL NOBATO EN SIMUC PRO
Dudas Generales
masterkeyes 0 1,986 Último mensaje 16 Julio 2016, 09:09 am
por masterkeyes
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines