|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - m0skit0
Páginas: 1 ... 17 18 [19] 20 21 ... 100
451
« en: Martes 23 de Noviembre de 2010, 10:20 »
Sí, pero creo que te estás confundiendo en otro tema. Que un array sea de tipo int no significa que sólo soporte 32768 elementos. Eso es el rango de cada elemento (si lo declaras como unsigned int tienes el doble de rango de número positivos pero sin números negativos). El array puede ser todo lo grande que quieras (hasta el máximo que permita size_t creo recordar). Por ejemplo: // Reservando 2 GiB de memoria int* a = (int*)malloc(0x80000000); // Comprobando que malloc() ha reservado la memoria requerida if (a == NULL) { // Tratamiento de error } else { // Inicializando el bloque con datos (ojo que puede llevar tiempo) int i; for (i = 0; i<0x80000000; i+=sizeof(int)) { a[i] = i; } }
Aquí reservas 2 GiB de memoria y los rellenas con diferentes números. También puedes usar memset() si vas a tener grandes cachos de memoria con un mismo valor. Saludos
452
« en: Martes 23 de Noviembre de 2010, 10:05 »
No existe ninguna manera estándar de hacer eso. Puedes probar con gotoxy() pero sólo vale para ciertos entornos (como Windows).
453
« en: Martes 23 de Noviembre de 2010, 02:08 »
Polimorfismo: un mecanismo de herencia en POO, tal que class Coche {}; class Renault: class Coche {}; class Peugeot: class Coche {}; Coche* polimorfo = new Renault(); delete polimorfo; Coche* polimorfo = new Peugeot(); delete polimorfo;
Creo que un caso de uso queda claro con este ejemplo. Te recomiendo que te mires también los métodos virtuales en este contexto. Encapsulamiento: aislar los atributos de las demás clases. Generalizando, limitar el acceso a los datos a los métodos de la misma clase, haciendo que cada clase siempre ofrezca acceso a sus datos a través de métodos y no directamente. Por ejemplo: class Coche { private: int velocidad; public: int obtenerVelocidad(); }; int Coche::obtenerVelocidad(void) { return velocidad; } Coche cochazo; // El encapsulamiento nos prohibe hacer esto cout << cochazo.velocidad; // pero si nos deja hacer esto cout << cochazo.obtenerVelocidad();
Esto es para asegurar de que el acceso a los datos se hace siempre con control de la clase, así nunca terminará con datos en estados corruptos o desconocidos para la clase misma. Esto implica que los atributos deben ser como mínimo protected salvo casos muy especiales. Para más detalles y formalidades: PolimorfismoEncapsulamientoSaludos
454
« en: Martes 23 de Noviembre de 2010, 01:51 »
Puedes dividirlo en un array de arrays bidimensionales (un array tridimensional) por ejemplo.
455
« en: Lunes 22 de Noviembre de 2010, 21:38 »
¿7? ¿Por qué 7?
456
« en: Lunes 22 de Noviembre de 2010, 20:10 »
Ojo no vayas a hacer algo destinado al público con esto. Las contraseñas siempre deben ir cifradas.
Saludos
457
« en: Lunes 22 de Noviembre de 2010, 20:09 »
Lo mejor que puedes hacer es contactar el servicio técnico de Hotmail. Siento no poder ayudarte más.
458
« en: Lunes 22 de Noviembre de 2010, 20:04 »
No. Primero te refieres a char*, que no es char. Segundo, tienes que reservar la memoria necesaria para ello, es decir: char aux[256]; strcpy(aux , SourceFile ->FileName. c_str());
Ten en cuenta que char[] es lo mismo que char*. Ahí te cabrían como máximo 255 caracteres de ruta (+1 caracter nulo de terminación obligatorio). Eso sí, el espacio reservado siempre serán 256 bytes (chars), independientemente de si la ruta tiene 5 o 255 caracteres. Como optimización podrías primero comprobar la longitud de la ruta y luego reservar la memoria correspondiente (que es lo que se haría internamente con el ejemplo de Eternal Idol) usando malloc(), sólo que habría que estar al loro y liberarla una vez hayas acabado de usarla. La mejor opción sin duda es la que te indica Eternal Idol, ya que es con C++ (que es lo que estás usando) y no C a pelo (que es como quieres hacerlo). Saludos
459
« en: Lunes 22 de Noviembre de 2010, 18:00 »
Esto se aplica a todos los foros. Léete las normas y los consejos aquí: viewforum.php?f=1Saludos
460
« en: Lunes 22 de Noviembre de 2010, 10:29 »
Usa las etiquetas de código y pon el codigo formateado si esperas que alguien gaste su tiempo en leer eso.
461
« en: Domingo 21 de Noviembre de 2010, 01:20 »
La pregunta de siempre: ¿y cómo sabemos con certeza que la cuenta es tuya? Hotmail provee mecanismos para recuperar tu contraseña, como las preguntas de seguridad.
462
« en: Domingo 21 de Noviembre de 2010, 01:16 »
si no me equivoco, con acces tu copias el archivo en la instalación "C:archivos de programami juegomibd.mdb" y ya la podias tratar sin tener que instalar nada... Perdona, pero sí tienes que instalar Access
463
« en: Sábado 20 de Noviembre de 2010, 20:16 »
Efectivamente, funciona. Pero restringir opciones al usuario porque no conoces el lenguaje es una pésima práctica y muy poco profesional.
464
« en: Sábado 20 de Noviembre de 2010, 19:00 »
Bienvenido, espero que podamos aprender juntos
465
« en: Sábado 20 de Noviembre de 2010, 18:47 »
Lo de los puntos de parada creía que ya lo sabías. Para comprobar el valor de una expresión en un momento dado es obvio que tienes que parar la ejecución. Te aconsejo que le eches un vistazo igualmente a la ventana de expresiones que te digo.  Saludos
466
« en: Sábado 20 de Noviembre de 2010, 12:13 »
Sí, tienes razón. Disculpa el malentendimiento. Ya nos cuentas qué tal con TinyXML
467
« en: Sábado 20 de Noviembre de 2010, 12:10 »
Yo nunca he programado para Windows con C++, pero si es un puntero lo que te devuelve será un puntero con el resultado, no un puntero a función, ya que entonces no tendría mucho sentido pasarle los argumentos. Si es así, prueba con int* retorno; retorno=ProcAdd(L"a,b"); cout<<*retorno;
468
« en: Sábado 20 de Noviembre de 2010, 11:53 »
"too many arguments for call" Hombre, creo que el error es explicativo por sí mismo: "demasiados argumentos para la llamada". Eso quiere decir que estás pasando más parámetros de los que admite la función.
469
« en: Sábado 20 de Noviembre de 2010, 11:49 »
Tienes que lanzar el programa en modo Debug y abrir dicha vista. Ahí tienes una ventana "Expresiones" en la que puedes arrastar cualquier expresión (no sólo variables) y conocer su valor.
Saludos
470
« en: Viernes 19 de Noviembre de 2010, 19:13 »
SI te leyeras las normas, posiblemente conseguirías mucha más ayuda. Comienza por poner tu código con etiquetas y darle formato. Así no hay quien se moleste en leerlo.
Saludos
471
« en: Viernes 19 de Noviembre de 2010, 19:01 »
Si el programador no controla los errores, entonces es problema de el, no de la libreria. En ese caso es pésimo programador. A mi entender la dos palabras son igual de adecuadas. De hecho, tienes razón tú: http://es.wikipedia.org/wiki/Librer%C3% ... %C3%B3n%29. Librería es erróneo. Mis disculpas.
472
« en: Viernes 19 de Noviembre de 2010, 18:57 »
Hombre, la solución más inmediata y sencilla es recorrer todos los números hasta el tope marcado comprobando cada número si es múltiplo sincero.
473
« en: Viernes 19 de Noviembre de 2010, 16:42 »
¿La base puede ser cualquier número entero positivo?
474
« en: Viernes 19 de Noviembre de 2010, 15:41 »
¿Cuál debe ser la respuesta de dicha función? ¿Abortar la ejecución o devolver un código de error? Siendo una librería (no biblioteca), debe devolver un código de error y dejar que la aplicación decida qué hacer. Es decir, el rol de una librería es ofrecer servicios, no controlar el flujo de ejecución de la aplicación o decidir por ella. En todo caso podría tomar un argumento que indique su comportamiento, pero es superfluo ya que eso lo puede decidir la aplicación.
475
« en: Viernes 19 de Noviembre de 2010, 15:38 »
¿Puedes poner una definición más formal de "múltiplo sincero"? Jamás en la vida había oído tal definición, lo siento.
Páginas: 1 ... 17 18 [19] 20 21 ... 100
|
|
|