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 ... 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 [125]
1241  Programación / Programación C/C++ / Re: AYUDA POR FAVOR :( en: 28 Junio 2013, 09:25 am
Si necesitas ayuda la puedes tener... pero el curro lo tienes que poner tú... al menos si quieres aprender.

Con lo que te he puesto piensa en cómo podrías hacerlo, haz tus conjeturas y cuando te atasques pregunta... pero el esfuerzo inicial lo tienes que poner tu.
1242  Programación / Programación C/C++ / Re: ¿Quien puede ayudarme? en: 28 Junio 2013, 09:22 am
Es Visual C++ no es C# o.o

En la captura que tienes, en el editor de propiedades pone claramente "System.Windows.Forms.Form"... esa clase es propia de c#
1243  Programación / Programación C/C++ / Re: Rango de variables??? en: 28 Junio 2013, 09:16 am
Lo primero es tener las cosas claras... y para ello nada mejor que empezar con un poco de aburrida teoría:

El rango de una variable viene definido únicamente por el número de bits destinados a almacenar valores.

En el caso de 8 bits, por ejemplo:
* [0 255] para valores sin signo
* [-128 127] para valores con signo.

Es decir, cualquier combinación de unos y ceros que se te ocurra poner en esos 8 bits va a resultar en un valor válido para esa variable.

Dicho esto hay dos escenarios:

1. Tienes que validar si al realizar una operación matemática el resultado se pasa de rango.

En este caso debes buscar incoherencias.

Ejemplo: 8 bits sin signo: 255 + 1 te dará 0, que es menor a 255

2. Tienes que validar que si un valor se puede almacenar en una variable dada.

En este caso vas a disponer de un string y te piden saber si ese valor convertido a número entra en la variable.

Tienes varias posibilidades, aunque quizás la más sencilla, si solo tienes que decir si la variable entra o no sea hacer una conversión string -> número -> string y comparar los dos strings a ver si son iguales ( si la variable no entra lo strings serán diferentes ).

Y poco más que decir, con esto creo que debería valerte.
1244  Programación / Programación C/C++ / Re: pregunta en: 27 Junio 2013, 17:44 pm
El programa este es un revuelto de c y c++ poco claro.

Lo primero que debes decidir es si programas en c o en c++... no queda muy bonito usar printf y scanf ( propias del lenguaje c ) con new y static_cast ( propias de c++ ).

Si usas c++ aprovecha sus características todo lo posible... en caso contrario casi mejor hazlo en c... mezclar de esta forma los dos lenguajes creo que solo sirve para que te lies más.

si decides hacerlo en c++ yo te propondría algunos cambios:

1. En vez de usar buffers usa vectores. Aprender a manejar la memoria es imprescindible... pero si no es estrictamente necesario dejar que la stl la maneje por ti te ahorrará muchos quebraderos de cabeza.
Código
  1. // c++
  2. std::vector<int> A;
  3.  
  4. // c
  5. int *A;
  6. A =new int [n+1]; // esta línea te sobraría ya que el vector libera la memoria por ti.
  7.  
  8. // c++
  9. A.push_back( h );
  10.  
  11. // c
  12. A[i]=h;

2. Usa las clases c++ para leer y escribir
Código
  1. // c++
  2. std::cout << "Ingresa el numero de datos que quieras en tu lista:   ";
  3.  
  4. //c
  5. printf("Ingresa el numero de datos que quieras en tu lista:   ");
  6.  
  7. // c++
  8. std::cin >> n;
  9.  
  10. // c
  11. scanf("%c",&h);

3. Elimina variables sin uso. ( char *p ). Esto no es propio de c++ sino una buena práctica de programación :)
1245  Programación / Programación C/C++ / Re: C++ a cambio de php en: 27 Junio 2013, 17:14 pm
Así a bote pronto sería complicado de decir... php al fin y al cabo no es más que una de las varias capas que tienes que emplear.

Realmente el juego no deberías programarlo en php... sino más bien en Html, flash, o alguna otra tecnología web.

PHP te ofrece una capa de comunicación con la base de datos y el servidor... pero no dice nada sobre como mostrar el juego. Debido a esto podemos decir que la lógica del juego debería residir en el cliente.

Si suponemos que el cliente corre con Html algunas ideas son las siguientes:
  • Utiliza variables javascript para cachear toda la información que puedas. Así mientras no tengas que actualizarla puedes utilizar esos valores y evitar consultas tontas.
  • Implementa AJAX. Te permitirá lanzar peticiones concretas al servidor en vez de tener que recargar toda la página... el número de consultas a realizar se reducirá sustancialmente.

Es solo un ejemplo y unas ideas, espero que te sirvan.

Un saludo.
1246  Programación / Programación C/C++ / Re: AYUDA POR FAVOR :( en: 27 Junio 2013, 08:46 am
Deberías ir pensando en dividir un poco el código... sepáralo en funciones.

Será más sencillo para ti añadir nueva funcionalidad y corregir los errores que tengas... y evitarás código repetido.

Por ejemplo:

Código
  1. void NuevoUsuario( char* usuario, char* pass )
  2. {
  3.  gotoxy(10,10);
  4.  cprintf("Introduzca el nombre de usuario:");
  5.  cscanf("%s",usuario);
  6.  getch();
  7.  gotoxy(10,12);
  8.  cprintf("Introduzca una clave:");
  9.  
  10.  int m=0;
  11.  while(m<=6)
  12.  {
  13.    pass[m]= getch();
  14.    cprintf ("*");
  15.    m= m+1;
  16.  }
  17. }

Así cada vez que quieres crear un nuevo usuario simplemente llamas a esta función y te ahorras tener que duplicar las líneas una y otra vez.

Esto es extensible al resto del código... otro ejemplo... podrías poner las instrucciones que "decoran" la pantalla en una función.

Es algo que aporta bastante claridad al código.

En cuanto a saber si un usuario ya existe... deberías plantearte tener una lista de usuarios que puedas consultar para saber si un nick introducido ya se encuentra registrado o no.

Aprovechando esa lógica lo suyo sería que almacenases tanto el usuario como la contraseña juntos para tener la información agrupada.

Si no sabes como hacerlo te doy una pista:

Código
  1. struct Usr
  2. {
  3.  char[20] Usuario;
  4.  char[6] pass;
  5. };

* Consejo final... si la contraseña va a tener forzosamente 6 caracteres deberías plantearte ampliar el array de la contraseña en un caracter... este séptimo caracter lo dejas con un nulo y a partir de ese momento puedes manejar la contraseña como si fuese una cadena de caracteres normal. Esto te permitiría hacer cosas como...

Código
  1. // Imprimir la clave:
  2. cprintf( "%s", pass );
  3.  
  4. // Comparar la clave con otra introducida:
  5. if ( strcpy( pass, otrapass ) == 0 )
  6. {
  7. ...
  8. }
1247  Programación / Programación C/C++ / Re: ¿Quien puede ayudarme? en: 27 Junio 2013, 08:10 am
Te has equivocado de foro... este es para c/c++ y lo tuyo es de c#
1248  Programación / Programación C/C++ / Re: Ayuda!!! Problema con cadena de caracteres en: 26 Junio 2013, 16:58 pm
la función scanf con el parámetro %s lee una cadena hasta que encuentra un hueco.

Se entiende por hueco un tabulador, un espacio en blanco, un salto de línea, ...

Una opción sería cambiar el argumento de scanf por otro tal que...

Código
  1. scanf("%19[^\n]", arre);

Con esto indicas que scanf recupere todos los caracteres que encuentre hasta que tope con un salto de línea o alcance el límite de 19 caracteres... recuerda que la última posición del array has de reservarla para el caracter nulo.

La solución que proponen arriba es igualmente válida pero ahí no se comprueba el tamaño del buffer... con lo que podrías tener problemas si al que prueba tu programa le da por meter un título de longitud superior a 19 caracteres.

Si quieres mas control sobre lo que estás copiando podrías mirar otras funciones, como fgets.

Un saludo.
1249  Programación / Programación C/C++ / Re: Duda MdiArea en QT en: 26 Junio 2013, 16:43 pm
Si he entendido bien tu tienes un MdiArea en una ventana y lo que sucede es que al redimensionar la ventana el MdiArea no se ajusta al nuevo tamaño.

Si es así el problema es que estás creando un layout "tonto" que no está vinculado a la ventana.

Si tu haces una composición de varios controles con layouts puedes comprobar que, efectivamente, al modificar el layout "padre" todo el contenido se adapta al tamaño de dicho layout... sin embargo si cambias el tamaño del control que contiene al layout este no se entera.

Para solucionar esto tienes que crear un layout asociado al contenedor... donde contenedor en este caso es la ventana. Esto se consigue de una forma muy sencilla... desde el QtCreator... o QtDesigner... seleccionas el contenedor y elijes en el menú superior uno de los 4 tipos diferentes de layouts... al hacer esto te crea un layout vinculado al contenedor y que, a diferencia del resto de layouts, no dibuja un rectángulo rojo indicando su presencia.

Para eliminar este layout el procedimiento es similar. Seleccionas el contenedor y en el menú elijes la opción de romper el layout ( es el botón que está después de los 4 tipos diferentes de layouts ).

Espero que te sirvan estos pasos.

Un saludo.
Páginas: 1 ... 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 [125]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines