|
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 - Geo
Páginas: 1 2 [3] 4 5 ... 41
51
« en: Miércoles 13 de Octubre de 2010, 06:24 »
Checa los manipuladores de flujo dentro de <iomanip>, p. ej. con std::setw puedes indicar cuántos espacios quieres que ocupe la siguiente impresión en pantalla. #include <iostream> using std::cout; using std::endl; #include <iomanip> using std::setw; int main() { cout << "Mult." << setw( 9 ) << "Result." << endl; for ( int i = 1; i <= 10; i++ ) { cout << "3 x " << setw( 2 ) << i << setw( 8 ) << 3 * i << endl; } system( "pause" ); }
52
« en: Lunes 11 de Octubre de 2010, 07:44 »
Lo más probable es que se abre una ventana de comandos, se ejecuta tu programa y se cierra inmediatamente al terminar. El código que alb te indicó hace que, una vez mostrado el mensaje en pantalla, se detenga la ejecución esperando que el usuario presione una tecla, de forma que puedas observar los resultados de tu programa. Otra forma (también funciona en Visual Studio): #include <stdio.h> #include <stdlib.h> int main(void) { printf("Bienvenido al primer programa en c"); return 0; }
53
« en: Lunes 11 de Octubre de 2010, 07:39 »
Un ciclo while puede ser una buena opción. Prueba con lo que dicen los manuales y con algo más concreto abres otra discusión.
54
« en: Lunes 11 de Octubre de 2010, 07:33 »
Si haces lo que te digo, mas de un compañero del foro te ayudara, en caso contrario, puedes dar por asegurado que este mensaje se ira al olvido.
O puedes ofrecer una generosa recompensa y puedas obtener rápidamente el programa .
55
« en: Lunes 11 de Octubre de 2010, 07:30 »
En efecto, la función clear_bitmap espera un puntero a BITMAP, pero al tratar de realizar las operaciones se encontraba con que no había memoria reservada para el puntero que recibió, por ello el error. Qué bien que lo solucionaste .
56
« en: Lunes 11 de Octubre de 2010, 07:27 »
Es más o menos sencillo, si los parámetros son enteros, darán resultados enteros. Si deseas resultados con parte decimal, debes usar tipos de datos que puedan almancenar parte decimal. Cualquiera de estass te puede funcionar: int asd = ( (float)1/(float)3 + (float)1/(float)3 + (float)3/(float)7 ); int asd = ( 1.0 / 3.0 + 1.0 / 3.0 + 3.0 / 7.0 ); int asd = ( (float)1/3 + (float)1/3 + (float)3/7); int asd = ( 1/3.0 + 1/3.0 + 3/7.0 );
En la primera, (float) indica que se debe hacer un "cast" (conversión) para convertir a float el tipo de dato a continuación, se hace para cada uno de los datos a manejar. En la segunda, se consigue lo mismo pero indicando que cada dato tiene parte decimal, agregándole el .0. En la tercera y cuarta, se realiza lo mismo, pero solo indicándolo para uno de los datos que intervienen en cada una de las divisiones. En C, cuando se tienen dos datos de diferente tipo para realizar una operación, se hace un "cast" para que los dos datos sean del mismo tipo, para el ejemplo, un dato es int y el otro float, para estos casos el cast se hace para convertir el tipo int a float, con lo que se consigue el mismo efecto que con los dos primeros ejemplos.
57
« en: Lunes 11 de Octubre de 2010, 07:11 »
Ponle atención al error, porque, en efecto, destruir_data no es una función, sino un puntero doble a void. Este es un ejemplo de llamadas a una función mediante punteros: #include <cstdio> #include <cstdlib> #include <cstring> // Función void imprimeValor( int valor ) { printf( "Valor es: %dn", valor ); } // Una estructura con un miembro que es un puntero a función struct Prueba { int x; void ( *ptrFunc )( int ); }; // Función que recibe como parámetro otra función y una variable int void ejecutaFuncion( void ( *ptr )( int ), int valor ) { // Ejecuta la función recibida como parámetro pasando el segundo parámetro recibido // como parámetro para la función llamada ptr( valor ); } int main() { // Crea una instancia de Prueba Prueba miPrueba; // El miembro ptrFunc apunta a imprimeValor miPrueba.ptrFunc = imprimeValor; // Ejecuta imprimeValor mediante la variable miembro ptrFunc miPrueba.ptrFunc( 10 ); // Pasa imprimeValor como parámetro ejecutaFuncion( imprimeValor, 13 ); return 0; }
Nota cómo se declara un puntero a función, tanto en la estructura como para el parámetro de ejecutaFuncion.
58
« en: Lunes 11 de Octubre de 2010, 06:42 »
No mencionas con qué compilador ni en qué sistema estás trabajando. Esto debiera funcionar en Windows: #include <stdlib.h> ... system( "cls" ); ...
59
« en: Miércoles 6 de Octubre de 2010, 07:39 »
Claro que se puede. Es habitual tener dos archivos por clase: uno para la declaración y otro para la definición/implementación de la misma.
60
« en: Domingo 3 de Octubre de 2010, 06:49 »
Aquí: http://es.wikipedia.org/wiki/Linux_embebido puedes encontrar información sobre dispositivos embebidos y Linux corriendo en ellos . Ahí puedes ver el porqué te digo que Linux puede ser tan liviano como desees o como lo necesites, ya que puede correr en ese tipo de dispositivos que tienen una fracción del poder de procesamiento de un sistema de escritorio y no se digan estaciones de trabajo.
61
« en: Domingo 3 de Octubre de 2010, 06:32 »
Puedes separar el código en diferentes archivos, un ejemplo sencillo sería esto: funciones.h #ifndef FUNCIONES_H #define FUNCIONES_H void imprime( char *mensaje ); #endif
funciones.c #include "funciones.h" #include <stdio.h> #include <stdlib.h> void imprime( char *mensaje ) { }
main.c #include "funciones.h" #include <stdio.h> #include <stdlib.h> int main() { imprime( "Hola mundo" ); return 0; }
En main.c se usa la función imprime que está declarada fuera de main.c, de esta forma puedes separar el programa en módulos, o simplemente colocar código en diferentes archivos de manera que puedas tenerlo mejor organizado . En Dev-Cpp solo tienes que ir agregando archivos al proyecto para que compile sin problemas (para el ejemplo que puse), suerte.
62
« en: Domingo 3 de Octubre de 2010, 05:13 »
Lo más sencillo, rand(), inicializando con srand(), algo comunmente utilizado es: // Inicializa con la hora del sistema, nunca se inicializará con la misma en dos ejecuciones distintas srand( time( NULL ) ); numero = rand();
Buscando encontrarás defectos de esta aproximación, para cosas realmente complicadas puedes hacer uso de la "entropía" del sistema, o acceder a alguna posición de la ram del equipo, pero para cosas dentro de lo normal, rand debería bastar.
63
« en: Sábado 2 de Octubre de 2010, 07:36 »
jejeje gracias, y no pretendo que lo hagan, jaja solo que me den sus consejos, el codigo ya lo estoy haciendo, ayudaria si me guiaras un poco mas Lee viewtopic.php?f=18&t=23877Ponle esfuerzo y aprovecha para ver si esto es lo que realmente deseas estudiar .
64
« en: Sábado 2 de Octubre de 2010, 07:30 »
Si cada producto va en una línea propia y las columnas separadas por /, abre el archivo, lee línea por línea, separa en tokens a partir del caracter separador de columnas o de alguna otra forma busca la octava columna que es el ID, cuando encuentres el ID que buscas, procesas la línea completa de acuerdo a lo que quieres.
65
« en: Sábado 2 de Octubre de 2010, 07:27 »
¿Puedes ser más específico con tu duda? Un array de objetos que tú hayas creado se declara tal cual como un array de tipos ya definidos como int, char, etc. Y para acceder a ellos los indicas mediante índices del array: int array[ 10 ][ 10 ]; array[ 5 ][ 5 ] = 45; Objeto arrayDeObjetos[ 200 ][ 200 ]; arrayDeObjetos[ 120 ][ 100 ].variable = x; y = arrayDeObjetos[ 30 ][ 23 ].variable;
66
« en: Sábado 2 de Octubre de 2010, 07:06 »
VCL.h no es una librería, es un archivo en el que muy probablemente estén declarados tipos de datos relacionados con la librería VCL.
Que yo entienda, VCL solo estaba disponible para compiladores Borland, si puedes usar CodeBlocks con uno de ellos probablemente ahí la encuentres.
67
« en: Sábado 2 de Octubre de 2010, 06:56 »
Si necesitas esos programas, sigue usándolos en Windows, o quizá en Ubuntu, pero dentro de una máquina virtual (tan pronto encuentres problemas con Wine).
Linux puede ser tan ligero o pesado como desees (lo puedes tener en un sistema embebido o en un celular), pero cuenta mucho qué es lo que deseas poder ejecutar o utilizar.
En fin, apoyo la idea de que pruebes Ubuntu, no te arrepentirás si no tienes la idea de que vas a poder sustituir por completo Windows para el caso de las herramientas que mencionas.
68
« en: Martes 2 de Febrero de 2010, 05:54 »
Una recomendación: coloca el código para poder entender el problema.
69
« en: Domingo 22 de Noviembre de 2009, 07:33 »
¿Algo más específico? Yo he realizado conexión con dispositivos a través de los puertos paralelo, serie (RS232/COM) y USB.
70
« en: Miércoles 18 de Noviembre de 2009, 08:06 »
Hazlo con ciclos for, uno para recorrer línea por línea, dentro recorres por letra checando si lo que lees es un número o un signo.
71
« en: Lunes 19 de Octubre de 2009, 18:59 »
No comentas cómo estás accediendo a la cámara, porqué dices que desde consola, ¿qué biblioteca estás utilizando? Imagino que usarás alguna biblioteca de enlace con la cámara, ¿cuál?
72
« en: Domingo 18 de Octubre de 2009, 08:23 »
En la función binario, no solamente se tiene la llamada recursiva sino también una instrucción normal, la cual se debe ejecutar una vez haya concluido la recursividad, espero puedas visualizarlo con este ejemplo: Suponiendo que el número ingresado sea 4 binario( 4 ), llamada dentro de la función main 4 > 0, se cumple, llama a binario --binario( 4 / 2 ), binario se llama a si misma pasando 2 como argumento (4/2) --2 > 0, se cumple, llama a binario ----binario( 2 / 2 ), binario se llama a si misma pasando 1 como argumento (2/2) ----1 > 0, se cumple, llama a binario ------binario( 1 / 2 ), binario se llama a si misma pasando 0 como argumento (1/2) ------0 > 0, no se cumple, volvemos al flujo del programa ------cout (1 % 2), después de llamar a binario(1/2) y retomar el flujo del programa, se llama a cout( 1%2) ----cout (2 % 2), después de llamar a binario(2/2) y retomar el flujo del programa, se llama a cout(2%2) --cout (4 % 2), después de llamar a binario(4/2) y retomar el flujo del programa, se llama a cout(4%2) se continúa con el programa ----------------- Edición: Je, Eternal Idol me ganó otra vez mientras escribía .
73
« en: Jueves 17 de Septiembre de 2009, 08:52 »
En una búsqueda rápida en el explorador de paquetes de Slackware ( http://packages.slackware.it/) no la encontré, solamente SDL. Intenta reinstalarla, instalar las bibliotecas de soporte para PNG, si no funciona, instala la versión del sitio oficial: http://www.libsdl.org/projects/SDL_image/ya sea que puedas instalar el paquete rpm o compila el código fuente.
74
« en: Miércoles 16 de Septiembre de 2009, 07:21 »
¿De dónde obtuviste la biblioteca SDL_image, la compilaste tú mismo, con qué opciones?
75
« en: Lunes 14 de Septiembre de 2009, 09:04 »
Deberías dar más detalles de tu problema, como por ejemplo, qué es nircmd . También, ¿qué error te da el compilador? La llamada a system debería ser algo como: system( "nircmd.exe changesysvolume 10000" );
También tienes el detalle de que el argumento de la función system debe ser una cadena de texto, no puedes pasar el valor de la variable z como lo estás intentando, antes debes convertirla al tipo adecuado.
Páginas: 1 2 [3] 4 5 ... 41
|
|
|