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


 


Tema destacado: ¿Usas Skype? Protégete de los Skype Resolver


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 304
1  Programación / Bases de Datos / Re: [?] Consulta Sentencia "SELECT" SQL Anidada en: Ayer a las 23:13
Código
  1. SELECT t1.NombreServicio, t2.costo
  2. FROM Tabla1 AS t1, Tabla2 AS t2
  3. WHERE t1.IDServicio = t2.IDServicio
  4.  AND año = 2016 AND IDUsuario = 14

Prueba así. Si no te entendí mal, no necesitas hacer la sub-consulta.
2  Programación / Programación C/C++ / Re: duda con programa en c++ en: Ayer a las 22:26
Los int tienen números de hasta 2.000.000 aproximadamente. El problema es que los números desbordan (15! es un número muy alto)

Puedes arreglarlo con:
Código
  1. long long factorial (int n){
  2. long long factorial_n = 1;
Cambiando el retorno de factorial a long long (y la variable interna).

Si quieres, puedes poner unsigned long long, que tendrá el doble de capacidad que un long long.
3  Programación / Programación C/C++ / Re: Cortar Cadena en: Ayer a las 18:53
lamentablemente no encontre ninguna que haga esto eficientemente

Si estás en C++, la clase string tiene el método substr.
Además, la librería algorithm de la librería estándar también, tiene funciones para manejar contenedores (string incluido).


A parte:

- Pusiste de retorno de la función ini.
- (char *)calloc(inlen, sizeof(char ));: inlen es 0. Quizás quisieras decir this->inlen.
- strncpy( szEnd, &this->szChars[end], inlen);: si lo que querías decir ahí era this->inlen, ten en cuenta que vas a copiar caracteres fuera del rango, y probablemente, de la memoria de tu cadena.
Luego, yo cambiaría calloc y strncpy por malloc y memcpy, poniendo posteriormente el caracter nulo al final de las cadenas. Ya a tu gusto.
Y bueno, estás reservando memoria 4 veces. Puedes hacer esta función reservando memoria solo 1 vez (o ninguna si reutilizas la memoria que ya había, dejando que sobre espacio). Además, coges memoria de un tamaño excesivo.

La cadena tendrá 3 partes:
Código:
--- A ---|beg| --- B --- |end| --- C ---
Deberías reservar solo memoria de tamaño A + C + 1 (caracter nulo). Con eso, te llegará.
4  Programación / Programación C/C++ / Re: [AYUDA] ¿Qué tiene de malo este código? en: 26 Septiembre 2016, 22:07
¿Qué error? Cópialo.
5  Programación / Programación C/C++ / Re: Poniendo a prueba los tipos de variables en c en: 26 Septiembre 2016, 19:30
La razón por la cual están esas variables es porque no está asegurado que esos tamaños sean así siempre.
Lo único asegurado es que los tamaños siguen estas condiciones:
Código
  1. char <= short <= int <= long <= long long
6  Programación / Programación C/C++ / Re: el programa dejó de funconar correctamente por un problema. en: 25 Septiembre 2016, 19:48
Prueba con una ruta relativa (que es lo que deberías hacer la mayoría d elas veces)

En vez de poner "C:/Users/DANIEL/Desktop/Programación/C++/Allegro/Naves/recursos/nave.pcx", (supooniendo que tu ejecutable está en la carpeta Naves, pon: "recursos/nave.pcx". Y a ver.
7  Programación / Programación C/C++ / Re: Llamas a función y pasar como argumento otra llamada a función [C] en: 25 Septiembre 2016, 16:32
Vale. No confundas char con char[] o char*.
char es 1 caracter, que en C es un entero de 8 bits.
char[] y char* son punteros, que apuntan a un (o varios) char.

De ahí el error: return makes integer from pointer without a cast
Es decir, en el retorno, estás convirtiendo un puntero (char[]) a un entero (char) sin un cast explícito, que sería:
Código
  1. return (char)dos;

El segundo error es lo mismo prácticamente. printf espera una cadena (%s, char*), y le estás pasando un entero (char).


Aquí la solución es colocar los tipos correctos:
Código
  1. #include <stdio.h>
  2.  
  3. char* a();
  4. void b( char* dos );
  5.  
  6. int main(void){
  7.  
  8. b(a());
  9.  
  10. return 0;
  11. }
  12.  
  13. char* a() {
  14. char* dos = "dos";
  15. printf("frase uno = %s\n\n", "uno");
  16. return dos;
  17. }
  18.  
  19. void b(char* dos) {
  20. printf("frase dos = %s\n\n", dos);
  21. }

Ahora b coge un parámetro char*. Por tanto, a retorna un parámetro char*.


Edito: Por si acaso, aclarar una cosa: no debes retornar un array de tipo char[]. En vez de eso, deberías utilizar malloc, llenar ese array, y retornarlo.
Una explicación más larga con ejemplos la tienes aquí. Está en inglés, pero los ejuemplos son auto-explicativos: http://stackoverflow.com/questions/31060404/how-can-i-return-a-character-array-from-a-function-in-c
8  Programación / Programación C/C++ / Re: Llamas a función y pasar como argumento otra llamada a función [C] en: 25 Septiembre 2016, 15:51
Ese código es correcto.

Pasar como argumento una "llamada a función", intuyo que te refieres a pasar como argumento el retorno de una función.

Tu código es igual a este:

Código
  1. #include <stdio.h>
  2.  
  3. int a();
  4. void b(int num);
  5.  
  6. int main(void){
  7. int t = a();
  8. b(t);
  9.  
  10. return 0;
  11. }
  12.  
  13. int a() {
  14. printf("num = %d\n\n", 1);
  15. return 2;
  16. }
  17.  
  18. void b(int num) {
  19. printf("num = %d\n\n", num);
  20. }



La otra interpretación, era la que te comentaron por ahí, que es pasar como parámetro una función en sí.
Código
  1. #include <stdio.h>
  2.  
  3. void call(void (*func)());
  4. void a();
  5. void b();
  6.  
  7. int main(void){
  8.  
  9. call(&a);
  10. call(&b);
  11.  
  12. return 0;
  13. }
  14.  
  15. void call(void (*func)()){
  16. func();
  17. }
  18.  
  19. void a() {
  20. printf("num = %d\n\n", 1);
  21. }
  22.  
  23. void b() {
  24. printf("num = %d\n\n", 2);
  25. }

Si dices que un código te da errores, copia también esos errores aquí.
9  Programación / Programación C/C++ / Re: Convertir un archivo a binario en c++ en: 25 Septiembre 2016, 01:05
De texto a binario como? Pasar los caracteres a binario?
"abc"
"01100001 01100010 01100011"
O cómo?
10  Programación / Desarrollo Web / Re: javascript: seleccionar valor de una clase dentro de un div en: 24 Septiembre 2016, 17:56
Gracias a ambos. Me gusta más la solución en JS.

ivancea96, vi esa solución por Internet, pero no entendí por qué el
  • . ¿Acaso lo que devuelve es un array?
getElementById retorna 1 elemento, porque se supone que soo habrá 1 elemento con el mismo ID. Pero getElementsByClassName retorna todos los elementos que tengan esa clase dentro del contenedor. En caso de que hubiera varios, ya sería cosa tuya seleccionar cuál. Pero según ese ejemplo, debería retornar un array con 1 valor.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 304
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines