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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como dar importancia al codigo(Solucionado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Como dar importancia al codigo(Solucionado)  (Leído 4,739 veces)
nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Como dar importancia al codigo(Solucionado)
« en: 11 Junio 2014, 05:01 am »

Hola como esta.

Tengo una gran duda y como dice el titulo es que no se como darle importancia a mi codigo

es decir tengo un boton, ese boton tiene varias instrucciones pero no quiero que se ejecuten todas al mismo tiempo.

explico cree el evento clik cuando se preciona ese boton se realizan todas las intrucciones y eso es lo que no querio que pase

Ejemplo

Código
  1.                //Codigo dentro del boton
  2.                if(ArregloN1 == true)
  3.                {
  4.                     //Haga esto
  5.                }
  6.                //Si el if se cumple que no siga ejecutando el codigo que sique del la funcion o sea el  
  7.                //else if
  8.  
  9.                //.... Codigo que no se ejecutaria si se cumpliese el if
  10.                else if (ArregloN2 = true)
  11.                {
  12.                    //Haga esto
  13.                }
  14.                //Si el primer if no se cumplio se evalua el else if y si este cumple no siga con lo demas
  15.  
  16.                //.... Codigo que no se ejecutaria si se cumpliese el else if
  17.  

Ese es un ejemplo de lo que trato de hacer daler importancia al codigo que quiero que se ejecute.

Otra forma de decirlo por si me dicen que use un switch es si tengo.

Código
  1.                 //Codigo del boton
  2.                 switch(Opcion1) //lo que recibe
  3.                 {
  4.                        Caso1:
  5.                         //Codigo o instrucciones
  6.                         break;
  7.  
  8.                        Caso2:
  9.                         //Codigo o instrucciones
  10.                         break;
  11.                 }
  12.                 //Que finalice si hay codigo abajo
  13.  
  14.                  //No deberia de ejecutarse si se ejecuto el primer switch, pero si no es a si
  15.                  //Se deberia de ejecutar el switch con la Opcion2
  16.                  switch(Opcion2) //lo que recibe
  17.                  {
  18.                        Caso1:
  19.                         //Codigo o instrucciones
  20.                         break;
  21.  
  22.                        Caso2:
  23.                         //Codigo o instrucciones
  24.                         break;
  25.                 }
  26.                 //Que finalice si se ejecuto este  switch y no siga con lo demas de abajo
  27.  
  28.                //.....
  29.  

Espero darme a entender.

Muchas gracias. Saludos


PD: por mientras escribia el hilo, se me ocurrio usar un break al final de la instruccion pero no se si funcione o si, se saldra del metodo. probando comento si me funcina. Si tienen alguna idea se los gradeceria. Saludos

No no me funciono ya que para usar el break debe estar en un loob o switch.



Me respondo despues de estar buscando encontre como salir de un metodo si se ejecuta solo una instruccion.

Comparto la solucion y es poner un return en la intruccion que se desea y no se sique ejecutando el codigo de metodo que sigue.

  
Código
  1. //Codigo dentro del boton
  2.               if(ArregloN1 == true)
  3.               {
  4.                    //Haga esto
  5.                    return; //Si entrentra aca el codigo de abajo o el else if no se ejecuta
  6.               }
  7.               //Si el if se cumple que no siga ejecutando el codigo que sique del la funcion o sea el  
  8.               //else if
  9.  
  10.               //.... Codigo que no se ejecutaria si se cumpliese el if
  11.               else if (ArregloN2 = true)
  12.               {
  13.                   //Haga esto
  14.                   return;
  15.               }
  16.               //Si el primer if no se cumplio se evalua el else if y si este cumple no siga con lo demas
  17.  
  18.               //.... Codigo que no se ejecutaria si se cumpliese el else if
  19.  

si alquien me puede explicar por que pasa esto segun leei

Cita:
En tal caso, una instrucción return puede utilizarse para la rama de un bloque de control de flujo y el método de la salida y simplemente se utiliza como este: return.


« Última modificación: 12 Junio 2014, 01:31 am por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Como dar importancia al codigo
« Respuesta #1 en: 11 Junio 2014, 07:43 am »

basicamente la funcion de "return" es devolver el resultado de la función, pero esta solo puede devolverlo saliendo de la misma... en pocas palabras corta en seco la función para retornar el valor

ej...

Código
  1. int numero (int a, int b){
  2. return a + b;
  3. return a*a;
  4. if(a>0){
  5.  b=a;
  6.  a = a/(a-b); // -> a/0
  7. }
  8. }

al llamar a la función, solo se ejecutará a+b, el resto existe, pero como hay un return nunca será tocado


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.
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Como dar importancia al codigo
« Respuesta #2 en: 11 Junio 2014, 08:52 am »

Si tu idea es ejecutar una serie de tareas aleatorias según un orden de importancia aleatorio, puedes optar por poner cada tarea en una función o clase (según estés en C o C++). Entonces cargas las tareas a ejecutar en un vector en el que se indique también la prioridad de cada tarea.

Al ejecutar el método que controla la pulsación del botón ordenas las tareas por prioridad y las vas ejecutando una a una.
En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Como dar importancia al codigo
« Respuesta #3 en: 11 Junio 2014, 18:18 pm »

Hola

Gracias por la explicacion.

ahora bien imaginemos que tengo un boton

Código
  1. Boton
  2. {
  3.   tipo arreglo1 [] = {A1, A2, A3}
  4.   tipo arreglo2 [] = {B1, B2, B3}
  5.  
  6.    if(Dato obtinedo1 == arreglo1)  //Es decir si el dato obtenido es igual al del arreglo
  7.    {
  8.       //Haga las siquientes instrucciones
  9.       return; //salir del metodo
  10.    }
  11.  
  12.    else if(DatoObtenido2 == arreglo2)
  13.    {
  14.       //Haga las siquientes instrucciones
  15.       return; //Salir del metodo
  16.    }  
  17. }
  18.  

Ahora bien si el dato que obtengo es B3 y los datos B son de mayor prioridad que los datos A.

entoces se ejecutara el else if para ejecutar las instrucciones que contenga.

si obtengo dos datos primero uno para DatoObtenido1 y despues uno para DatoObtenido2
se ejecutara primero el primer if ya que cumple con el if pero la prioridad deberia de ser B y despues A

No se como hacer eso ya que menciona crear una funcion lo he intentado de la siquiente manera

El problema que tengo es que al hacer eso, nunca entra al if de la funcion pero igual se ejecutaria primero la FuncionA y luego la FuncionB al apretar el boton

Código
  1. Boton
  2. {
  3.   FuncionA;
  4.   FuncionB; //Prioridad funcion B no importa en que parte se encuentre
  5. }
  6.  
  7. public void FuncionA()
  8. {
  9.    if(Dato obtinedo1 == arreglo1)  //Es decir si el dato obtenido es igual al del arreglo
  10.    {
  11.       //Haga las siquientes instrucciones
  12.       return; //salir del metodo
  13.    }
  14. }
  15.  
  16. public void FuncionB()
  17. {
  18.   if(DatoObtenido2 == arreglo2)
  19.    {
  20.       //Haga las siquientes instrucciones
  21.       return; //Salir del metodo
  22.    }  
  23. }

No entiendo muy bien los vectores he tratado y leido pero no capto bien la idea que indica eferion de mandar varias funciones a un vector y darles orden de prioridad en el vector. Si pueden ayudarme con alguna idea que se les ocurra de como hacerlo.

o algun ejemplo que muestre como hacer algo asi. estaria muy agredecido.

Saludos muchas gracias por tomarse el tiempo a los dos y a los demas.

Gracias.
« Última modificación: 11 Junio 2014, 18:23 pm por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.615



Ver Perfil WWW
Re: Como dar importancia al codigo
« Respuesta #4 en: 11 Junio 2014, 21:04 pm »

Para que necesitas intercambiar la prioridad sobre qué vector comparar? Siempre será de la forma: Primer prioridad B, Después A, Después B, Después A... y así sucesivamente?
En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Como dar importancia al codigo
« Respuesta #5 en: 11 Junio 2014, 22:28 pm »

Hola gracias por responder.

Mientras haya un dato obtenido que sea B se va a ejecutar B si nunca se obtiene una dato B se ejecutara A.

Saludos
En línea

Lo que se puede imaginar... se puede programar.
JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.615



Ver Perfil WWW
Re: Como dar importancia al codigo
« Respuesta #6 en: 11 Junio 2014, 22:40 pm »

Meh, te estás quebrando la cabeza.. acabas de decir la lógica que necesitas. Haces esas comparaciones sobre un vector y ejecuta la función que corresponda a B y si no, la función A.

Y ya que eres celoso del código, es todo lo que se te puede apoyar.
En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Como dar importancia al codigo
« Respuesta #7 en: 11 Junio 2014, 22:42 pm »

Dicho con código:

Código
  1. Boton
  2. {
  3.   tipo arreglo1 [] = {A1, A2, A3}
  4.   tipo arreglo2 [] = {B1, B2, B3}
  5.  
  6.    if(DatoObtenido2 == arreglo2)
  7.    {
  8.       //Haga las siquientes instrucciones
  9.       return; //Salir del metodo
  10.    }
  11.    else if(Dato obtinedo1 == arreglo1)  //Es decir si el dato obtenido es igual al del arreglo
  12.    {
  13.       //Haga las siquientes instrucciones
  14.       return; //salir del metodo
  15.    }
  16. }
En línea

JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.615



Ver Perfil WWW
Re: Como dar importancia al codigo
« Respuesta #8 en: 11 Junio 2014, 22:44 pm »

+1 @eferion
En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Como dar importancia al codigo
« Respuesta #9 en: 11 Junio 2014, 23:22 pm »

Hola creo que no me di a entender muchas gracias, de todos modos y con respecto a que si soy celoso con el codigo para nada estoy tratando de pasar un ejemplo de java a c++ y mejorarlo si puedo.

Ademas que no soy de las personas que le gusta que le hagan las cosas si me dan una idea eso me vasta y les hagradesco a todos por esas ideas.

En cuanto a lo que comenta eferion
solo cambio la posicion de los if pero el objetivo era que no importara donde se encontrara el B siempre se ejecutara primero el B

Muchas gracias a todos por sus repuestas dare por cerrado el tema y si logro hacerlo lo comento por si le sirve a alquien.

y gracias por tomarce el tiempo Saludos a todos.

Y muchas gracias de nuevo.
En línea

Lo que se puede imaginar... se puede programar.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
uso de LSet tiene importancia?
Programación Visual Basic
LeandroA 2 1,683 Último mensaje 30 Noviembre 2008, 00:01 am
por LeandroA
La importancia de un buen dominio...
Foro Libre
dimitrix 4 2,656 Último mensaje 21 Septiembre 2011, 14:16 pm
por [u]nsigned
La importancia del ph en la saliva
Foro Libre
Hason 4 3,571 Último mensaje 3 Diciembre 2021, 12:29 pm
por Randomize
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines