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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 33
91  Programación / Programación C/C++ / Re: Error C2360: la inicialización de edad se omite por la etiqueta case en: 26 Febrero 2019, 15:51 pm
En C++ esta permitido saltar sobre definiciones.

Código
  1. {
  2.   // algunas instrucciones antes ...
  3.  
  4.   goto etiqueta;  // salto incondicional a donde este' la etiqueta
  5.  
  6.   int x;    // permitido saltarse esto
  7.  
  8.   // mas instrucciones ...
  9.  
  10. etiqueta:
  11.  
  12.   x = 1;  // pero a pesar del salto la variable x existe aqui, con valor inicial desconocido.
  13. }

Pero esta prohibido saltar las declaraciones con inicializaciones.


Ejemplo:

Código
  1. {
  2.   // algunas instrucciones antes ...
  3.  
  4.   goto etiqueta;  // salto incondicional
  5.  
  6.   int x = 3;    // no esta permitido saltarse esto
  7.  
  8.    // mas instrucciones ...
  9.  
  10. etiqueta:
  11.     // no se puede saltar aqui
  12. }


cada case de un switch es una etiqueta, y la variable es visible dentro de todo el switch, en el case actual y los siguientes.

Dado que la ejecucion del switch es un salto a cada etiqueta, al poner una definicion con inicializacion, se da el caso que esta prohibido, por ello el error de compilacion.

92  Programación / Programación C/C++ / Re: [Consulta] SDL2 arreglar movimiento de ventana con click en: 23 Febrero 2019, 22:31 pm
En ese caso, tal vez funciona mejor asi?

Código
  1.    // Main loop
  2.    bool bOpen = true;
  3.    while (bOpen)
  4.    {
  5.        SDL_Event event;
  6.        static bool bMouseClicked=false;
  7.        int xPos, yPos;
  8.        static int xMPos=0,yMPos=0;
  9.        while (SDL_PollEvent(&event))
  10.        {
  11.            if(event.type == SDL_MOUSEBUTTONDOWN)
  12.            {
  13.                if(event.button.button == SDL_BUTTON_LEFT && !bMouseClicked)
  14.                {
  15.                    bMouseClicked=true;
  16.                    SDL_GetWindowPosition(window,&xPos,&yPos);
  17.                    SDL_CaptureMouse(SDL_TRUE);
  18.                    SDL_GetMouseState(&xMPos,&yMPos);
  19.                }
  20.            } else
  21.            if(event.type == SDL_MOUSEBUTTONUP)
  22.            {
  23.                if(event.button.button == SDL_BUTTON_LEFT)
  24.                {
  25.                    bMouseClicked=false;
  26.                    SDL_CaptureMouse(SDL_FALSE);
  27.                }
  28.            } else
  29.            if(event.type == SDL_MOUSEMOTION)
  30.            {
  31.                int xMPosN,yMPosN;
  32.                if(bMouseClicked)
  33.                {
  34.                    SDL_GetMouseState(&xMPosN,&yMPosN);
  35.                    xPos+=xMPosN-xMPos;
  36.                    yPos+=yMPosN-yMPos;
  37.                    SDL_SetWindowPosition(window,xPos,yPos);
  38.                }
  39.            } else
  40.            if (event.type == SDL_QUIT)
  41.                bOpen = false;
  42.        }
  43.  
93  Programación / Programación C/C++ / Re: [Consulta] SDL2 arreglar movimiento de ventana con click en: 23 Febrero 2019, 22:16 pm
Que pasa si mueves la instruccion que toma la posicion de la ventana al momento donde se detecta el click del mouse?

osea

Código
  1. SDL_GetWindowPosition(window,&xPos,&yPos);

al interior del
Código
  1. if(event.button.button == SDL_BUTTON_LEFT)

?

(Eliminando donde ahora esta')
94  Programación / Java / Re: Objeto se sobrescribe en otro. en: 23 Febrero 2019, 14:03 pm
En la clase Ficheros, no tiene sentido tener campos static para una clase que tiene 1 solo metodo. Esto tiene consecuencias si vas a invocar  a ese metodo mas de 1 vez.

Sugiero que definas todas los campos al interior de ese unico metodo. Con esto, cada vez que invoques ese metodo tendras versiones frescas de lo que creas y no estaras pisando lo anterior.
95  Programación / Java / Re: invertir cola en: 23 Febrero 2019, 13:38 pm
amigo probe lo que me dices cree una clase llamada stack con sus metodos pero me sigue saliendo los mismos datos iguales

Creo que lo que explica que tu metodo invert() no funcione es esta:

1. El metodo invert que definiste crea una Queue de nombre result, que por supuesto originalmente esta vacia.
2. El primer ciclo no hace nada pues la cola esta vacia, por lo que el stack definido para la ocasion no se toca en absoluto.
3. El segundo ciclo no hace nada pues el stack esta vacio, por lo dicho anteriormente, y
4. luego no se hace nada con la cola result.
96  Programación / Java / Re: invertir cola en: 23 Febrero 2019, 13:27 pm
-- Mmm..., me pone nervioso ese Unsafed Operations >:D

Tienes que definir la linkedList y el Stack usando el diamond operator:

Código
  1. Queue<String> myQueue = new LinkedList<>();
  2. ...
  3. Stack<String> stack = new Stack<>();
  4.  
97  Programación / Programación C/C++ / Re: Espiral Ulam, distancia Manhattan en: 22 Febrero 2019, 21:05 pm
Tiene cara de ser la parte entera de la mitad de la raiz cuadrada del numero.
98  Programación / Programación C/C++ / Re: Proyecto: C-Edit para Linux - Editor de texto en terminal. en: 17 Febrero 2019, 02:39 am
Se ve interesante y entretenido. Felicitaciones!

Si encuentras entusiasmo para continuarlo, te sugiero separar algunas funcionalidades para poder probar que ellas trabajan correctamente y no dudar de otras cosas si algo llega a fallar.

Tests de funcionalidades por separado podrian ayudarte a detectar y corregir problemas antes de unirlas al codigo principal.

Un problema que podria haber sido capturado siguiendo esto aparece en las lineas 434 y suguientes : 
https://github.com/velorek1/C-edit/blob/master/src/cedit.c#L434

Copio a continuacion:
Código
  1.  if(editBuffer[positionY].charBuf[oldPosition].ch != CHAR_NIL ||
  2.     editBuffer[positionY].charBuf[oldPosition].ch !=
  3.     END_LINE_CHAR) {
  4.  

Puedo estar equivocado, pero este if parece SIEMPRE cierto tal como esta escrito y por tanto lo que quieres hacer solo en 2 ocasiones (o excepto en 2 ocasiones?), lo estas haciendo siempre.

La solucion, en este caso, es reemplazar el || por &&
99  Programación / Programación C/C++ / Re: ayuda en: 15 Febrero 2019, 08:31 am
usa el objeto creado para llamar los metodos, no la clase.

vale decir: En vez de Empleado.capturar(), haz:  emp.capturar()
100  Programación / Programación C/C++ / Re: [C]Como puedo parsear un simple comando en: 13 Febrero 2019, 19:25 pm
El ++i no deberia ser i++?
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 33
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines