|
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 - ProfesorX
Páginas: 1 ... 30 31 [32]
776
« en: Martes 25 de Septiembre de 2007, 01:59 »
Pues no, no esta permitido, pero podrias solucionarlo creando una tercera constante de preprocesador, cuando tengas definida una u otra constante. Mas claro, por si no me entendiste #ifdef _RELEASE #define _DEBUG_RELEASE #endif #ifdef _DEBUG #define _DEBUG_RELEASE #endif #ifdef _DEBUG_RELEASE //Codigo #endif
Saludos
777
« en: Domingo 16 de Septiembre de 2007, 22:14 »
No se hacen tareas en este foro, las tareas son para que tu aprendas. Muestra lo que hayas hecho y quizas alguien te ayude, de lo contrario, no creo que nadie lo haga. Saludos
778
« en: Lunes 10 de Septiembre de 2007, 02:01 »
El problema es que no existe un valor nulo (vacio) para la fecha, cuando creas un nuevo valor de fecha, por defecto tiene la fecha 01/01/0001 12:00 am, ese es el valor que podrias utilizar para comprobar que la fecha esta vacia, asumiendo claro que no necesites utilizar esa fecha Una pagina que encontre que habla sobre eso: http://www.codeproject.com/cs/miscctrl/dateedit.aspSaludos
779
« en: Lunes 10 de Septiembre de 2007, 01:28 »
Y no quieres tambien que te lo graben en un cd y te lo lleven a la puerta de tu casa??? 1. No escribas en mayusculas, se entiende como que estas gritando 2. No se hacen tareas, si tienes una duda puntual, demostrando que ya hiciste algo, entonces muy probablemente alguien te ayudara 3. Que algun moderador cierre este hilo
780
« en: Lunes 27 de Agosto de 2007, 19:32 »
El problema esta en tu falta de la comprension de como se manejan internamente los numeros en la computadora, y depende tambien de si manejas valores de un byte o de dos bytes, y de si manejas signo o no. Si manejas valores de un byte sin signo, el rango de valores va de 0 a 255, y si manejas valores con signo, el rango va de -127 a 128, pues un bit del byte se utiliza para el signo. entonces, si tomara tu primer ejemplo, lo transformara a un numero de 8 bits, obtendria esto: Cero: 00000000 Complemento: 11111111 Podras ver que el numero 11111111, representaria el 255, o el -1, dependiendo de si decides que el numero lleva signo o no. puedes comprobarlo, utilizando la siguiente sentencia: printf("Complemento a uno de 0: %d, %u, %x", ~0, ~0, ~0 );
que te imprimira el numero como un entero con signo, un entero sin signo, y en formato hexadecimal respectivamente. para mas informacion: http://www.zator.com/Cpp/E4_9_3.htmhttp://es.wikipedia.org/wiki/Representaci%...meros_con_signoSaludos
781
« en: Lunes 20 de Agosto de 2007, 20:07 »
La segunda: SObre depuradores no estoy muy puesto y siempre recurro al printf("llega\n") o cout << "llega\n" ; que es un poco feo...Eternal Idol, puedes facilitarme algún tutorial? Y, en que programa lo depuras? Gracias de antemano. Pues eso depende de que IDE/Compilador Utilices. Si Utilizas el Visual Studio (Express o Porfessional), ya viene con depurador integrado, y es muy facil de usar, solo tienes que cambiar las opciones de compilacion para que te genere informacion de depuracion, y listo, utilizas las teclas F5 para comenzar la depuracion y F11/F10 para depuracion paso a paso por instruciones/procedimientos. El viejo Turbo C tambien incluia un depurador facil de usar. GCC/Mingw usa su propio depurador GDB, pero es mas dificil de usar, (al menos yo nunca he podido depurar bien con el ) Saludos...
782
« en: Miércoles 1 de Agosto de 2007, 21:50 »
Por que te complicas la vida con algo tan simple? Podrias hacer un ciclo de 1 hasta 5, y luego cambiar los colores de acuerdo a lo siguiente: void luz::color(int var) { if(var==1) {cout<<" ROJO\n ";} if(var==2) {cout<<" AMARILLO\n ";} if(var==3) {cout<<" VERDE\n ";} if(var==4) {cout<<" AMARILLO\n ";} if(var==5) {cout<<" ROJO\n ";} };
Ahora lo de los colores de pantalla, no es muy facil hacerlo, pero puedes buscar en la funciones de consola, en MSDN, especificamente SetConsoleTextAttribute. Saludos
783
« en: Miércoles 1 de Agosto de 2007, 20:52 »
Y donde guardas el valor del salario neto? Para poder ordenar por el metodo de la burbuja, necesitas guardar ese valor en la estructura, por lo que pude apreciar, solo lo calculas, pero no lo guardas. Veo que en todos lados calculas el valor, pero no guardas nada en la estructura, si guardaras, te asuguro que se te simplificarian mucho las cosas un simple: s[i].sn = sueldoneto(s[i]); cout<<"El salario neto es: "<<s[i].sn<<endl;
para guardar el valor del sueldo neto, una vez guardado el valor en s .sn, ya puedes ordenar por cualquier metodo que quieras, en este caso burbuja.
te recomendaria tambien que guardes el resto de valores en la estructura, en lugar de calcular cada vez que quieras impirmir
s[i].sb = sueldobruto(s[i]); s[i].d = desc(s[i]);
y asi para todos los valores Saludos
784
« en: Domingo 22 de Julio de 2007, 04:01 »
Me intereso tu clase, pero creo que deberias poner el codigo completo que utilizaste (formularios, clases extra, etc.) ya que me marco los siguientes errores: C:\CvsProjects\proyecto-x\alfa\jubilee\QuickGUI\GenericProgramming\WebCam.cs(26,20): error CS0246: No se puede encontrar el tipo o el nombre de espacio de nombres 'Image' (¿falta una directiva using o una referencia de ensamblado?) C:\CvsProjects\proyecto-x\alfa\jubilee\QuickGUI\GenericProgramming\WebCam.cs(27,13): error CS0246: No se puede encontrar el tipo o el nombre de espacio de nombres 'Form' (¿falta una directiva using o una referencia de ensamblado?) C:\CvsProjects\proyecto-x\alfa\jubilee\QuickGUI\GenericProgramming\WebCam.cs(29,13): error CS0246: No se puede encontrar el tipo o el nombre de espacio de nombres 'Form' (¿falta una directiva using o una referencia de ensamblado?)
y asi sucesivamente Saludos
785
« en: Domingo 22 de Julio de 2007, 03:49 »
Que yo sepa, no se puede, puesto que para manipular los archivos de datos de mysql, necesitas tener instalado el servidor (manejador), si no, ¿como accedes a los datos, que estan en un formato binario? Una solucion (en caso de que no te importe cambiar de manejador de base de datos y que no requieras algo muy avanzado) seria utilizar la libreria SQLite, buscala en google. Saludos
786
« en: Domingo 22 de Julio de 2007, 03:41 »
Aunque no lo mencionas, supongo que por la libreria estas utilizando Turbo c, bueno, hace años hice algo parecido, la solucion seria que antes de que dibujes el nuevo circulo, dibujes en el mismo lugar otro circulo pero con el mismo color que utilizas para el fondo, para que se borre el anterior, y entonces dibujas el nuevo circulo en la nueva posicion. Tambien podrias hacer XOR de bits, busca mas informacion al respecto. Saludos
787
« en: Domingo 22 de Julio de 2007, 03:33 »
Puedes buscar informacion de VB en la pagina del guille www.elguille.info, hace tiempo recuerdo haber bajado de ahi un proyecto paso a paso para una agenda en Visual Basic 6, no se si lo hayan actualizado, pero pienso que aunque no sea asi, te puede servir de mucho para aprender las bases de lo que necesitas. Saludos :-)
788
« en: Martes 17 de Julio de 2007, 21:08 »
Hola
yo discrepo mi amigo, no todo lo aprendes leyendo a mi parecer la mayoria de las cosas buenas se aprenden y perfeccionan con practica
No en mala Estoy de acuerdo contigo en el aspecto de que no basta con leer, se necesita practica, pero si lees el post original, notaras que su codigo tiene errores basicos, que denotan la falta de haber dedicado un pequeño tiempo a leer un libro de C con cosas basicas, o alguno de los muchos tutoriales/cursos que abundan en internet, como bien anoto el otro compañero. Saludos y sin rencores
789
« en: Lunes 16 de Julio de 2007, 21:41 »
A simple vista, estas incrementando de manera incorrecta la variable j en lugar de: debes poner ademas, el incremento de j debes hacerlo despues de validar el valor, no dentro del ciclo de validacion: while(aux<1||aux>7) { //validacion ... } j++;
Te recomiendo que tomes un buen libro de C++, pues a leguas se nota que no tienes ni idea de la programacion. Saludos
790
« en: Martes 3 de Julio de 2007, 01:29 »
El problema es esta linea: El resultado de la division entera 1/3 da cero, y al multipilcarlo por lo demas, siempre te dara cero, cambiala por: VOL = 1.0/3.0 * AB * ALT;
De esa forma, el compilador hara una division flotante (float) en lugar de entera. Saludos 8)
791
« en: Jueves 28 de Junio de 2007, 04:31 »
Bueno, le he estado buscando, pero no le he dado en el clavo, y es que nunca entendi muy bien las plantillas avanzadas en C++ . basicamente me gustaria que alguien me dijera a que traduce la siguiente plantilla: class MemberFunctionSlot { public: virtual ~MemberFunctionSlot() {}; virtual bool execute(const EventArgs& args) = 0; }; template<typename T> class MemberFunctionPointer : public MemberFunctionSlot { public: typedef bool (T::*MemberFunction)(const EventArgs&); public: MemberFunctionPointer() : d_undefined(true) {} MemberFunctionPointer(MemberFunction func, T* obj) : d_function(func), d_object(obj), d_undefined(false) {} virtual ~MemberFunctionPointer() {} virtual bool execute(const EventArgs& args) { if(!d_undefined) return (d_object->*d_function)(args); return false; } protected: MemberFunction d_function; T* d_object; bool d_undefined; };
Aqui pongo la aproximacion que he hecho en C#: public class MemberFunctionSlot { public virtual bool execute(EventArgs args); } public class MemberFunctionPointer<T> : MemberFunctionSlot { public bool MemberFunction(EventArgs args); public MemberFunctionPointer() { d_undefined(true); } public MemberFunctionPointer(MemberFunction func, T obj)//Esta linea me da error { d_function(func); d_object(obj); d_undefined(false); } public virtual bool execute(EventArgs args) { if (!d_undefined) return (d_object.d_function)(args); return false; } protected MemberFunction d_function;//esta linea me da error protected T d_object; protected bool d_undefined; }
El error que me marca es el siguiente: C:\CvsProjects\proyecto-x\alfa\jubilee\QuickGUI\src2\QuickGUIMemberFunctionPointer.cs(36,38): error CS0118: 'Cm.QuickGUI.MemberFunctionPointer<T>.MemberFunction(System.EventArgs)' es 'método' pero se utiliza como 'tipo' C:\CvsProjects\proyecto-x\alfa\jubilee\QuickGUI\src2\QuickGUIMemberFunctionPointer.cs(50,19): error CS0118: 'Cm.QuickGUI.MemberFunctionPointer<T>.MemberFunction(System.EventArgs)' es 'método' pero se utiliza como 'tipo' Si alguien me puede iluminar que estoy haciendo mal y como lo puedo arreglar, se lo agradecere Saludos
792
« en: Martes 26 de Julio de 2005, 01:06 »
Pues eso, como me ha llamado mucho la atencion la programación gráfica 3D, hice una página acerca de OGRE, utilizando XOOPS, se aceptan opiniones y sugerencias, aunque advierto, todavia no pongo mucho contenido. Saludos http://profesorxy.cogia.net
793
« en: Lunes 4 de Julio de 2005, 18:22 »
Hola sandra68 no te vuelvas loca , mira, al parecer, la mayoria de las operaciones que veo en la funcion son operaciones de bits, que a veces son un poco complejas de entender si no has tenido buenas bases de matematica para la computacion, tratare de explicarte nada mas la linea que dices no entender nada, pero te recomiendo que busques un libro de matematicas para computacion, o alguien de tu localidad que sepa mas, pues como dije antes seria dificil explicarte todo en un solo post : Primero que nada, las cantidades tienen un &H al principio, lo que significa que estan en hexadecimal, esto es para facilitar el manejo de los numeros, pero para entender como funciona, hay que ver esos mismos numeros en binario (0 y 1) pues en ese formato es como se entiende mejor como funcionan las operaciones entre bits. El numero F es 15 en decimal, y en binario es 1111, o sea, que por cada F tu vas a poner 1111 en binario. La operacion "and" se utiliza aqui para verificar que bits se encuentran encendidos (o sea, cuales son igual a 1), pues si tu tienes un numero cualquiera y le haces "and &HF", te regresara el mismo numero, pues recuerda que el "and" te devuelve 1, si los dos numeros son 1, y 0 en cualquier otro caso. O sea que si tenemos: 1010 and 1111 obtendremos 1010 de nuevo, pues cada digito, se compara con el digito del otro numero que este en la misma posicion (el primer digito del primer numero con el primer digito del segundo numero, el segundo digito del primer numero se compara con el segundo digito del segundo numero y asi sucesivamente) La operacion "xor", se utiliza aqui para invertir los bits, pues si el primer digito es 1, se vuelve cero y viceversa, tomando como ejemplo los mismos numeros anteriores, si hacemos: 1010 xor 1111 obtendremos 0101 La funcion Mid(), se utiliza para extraer un caracter de una cadena, la funcion Asc() convierte ese mismo caracter en un numero, pues las operaciones de bits solo se pueden hacer con numeros, no con caracteres, y por ultimo la funcion CLng() convierte ese mismo numero a formato Long. Entonces, resumiendo, basicamente la linea i = CLng(Asc(Mid(trama, j, 1))) Xor ((dwCrc32) And &HFF&) Hace lo siguiente: Toma un caracter de una cadena, lo convierte a numero, checa que bits estan encendidos de ese numero, y luego los invierte, y guarda el resultado en la variable i. Para complementar, te dejo la tabla de verdad de los operadores and, or, xor. 0 and 0 = 0 0 and 1 = 0 1 and 0 = 0 1 and 1 = 1 0 or 0 = 0 0 or 1 = 1 1 or 0 = 1 1 or 1 = 1 0 xor 0 = 0 0 xor 1 = 1 1 xor 0 = 1 1 xor 1 = 0 Saludos y espero que te sirva la informacion .
794
« en: Jueves 30 de Junio de 2005, 19:18 »
Felicidades blag, y muy buen trabajo al editar la revista. Solo una pregunta, que puedo hacer para mandarte una colaboracion, y que aparezca en el siguiente numero de la revista? Saludos
795
« en: Jueves 30 de Junio de 2005, 19:12 »
Bueno, solo añadir algo a lo que te contestaron, como bien te dijeron, el realizar un algoritmo de manera recursiva por lo general consume mas recursos que de manera no recursiva, entonces a lo mejor te preguntaras ¿cual es la ventaja de hacerlo de manera recursiva?
La razon seria simplicidad, hay algoritmos que se realizan de manera mas simple y natural de manera recursiva que si los implementaramos de manera no recursiva. Un ejemplo clasico que se me ocurre seria resolver el problema de las torres de hanoi (la solucion es mas natural de implementar de manera recursiva que de manera no recursiva). Obviamente en ese caso debemos aquilatar si deseamos simplicidad al hacer el algoritmo, o eficiencia en el uso de recursos.
Un saludo 8)
796
« en: Martes 31 de Mayo de 2005, 00:51 »
Y no quieres tambien una nieve de limon? Disculpa el sarcasmo, pero en foro es de ayuda en problemas especificos (despues de que hayas intendado hacerlo), no de haganme mi tarea que estoy en examenes finales. Si a este grado del curso no sabes hacer lo que te indican, quiere decir que hubo problemas ahi, y pues lo mejor sera repetir el curso de nuevo, para que reafirmes tus conocimientos. Un saludo
797
« en: Jueves 19 de Mayo de 2005, 01:07 »
Hola Blag!!! pues seguimos esperando el siguiente numero de Codigo Latino que ha pasado??? Espero que siga, pues me parece un excelente proyecto. Saludos
799
« en: Lunes 16 de Febrero de 2004, 14:34 »
Proyecto-X URL : http://www.proyecto-x.netWeb dedicada al desarrollo de un juego, que esta siendo creado como un proyecto libre, por el grupo de programación y diseño Cubical Minds. En este portal, podreis encontrar información tanto sobre el juego, como sobre los que lo desarrollan, además si quereis colaborar en la creación de dicho juego, este es el lugar para contactar. Si lo que quieres es colaborar en la creacion del juego, ponte en contacto en http://www.proyecto-x.net, sigue los pasos que se te indican, y pronto recibiras noticias. Para ayudar en la creacion de dicho juego, no necesitas conocimientos especificos y muy altos, unicamente necesitas ganas de aprender y pasarlo bien. Todos son bienvenidos, aunque lo que mas necesita en este momento son grafistas y modeladores 3D. Un Saludo.
Páginas: 1 ... 30 31 [32]
|
|
|