|
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 - Diodo
Páginas: 1 ... 27 28 [29] 30
701
« en: Domingo 10 de Octubre de 2004, 23:53 »
Anda  ni habia visto lo de sin repeticion, esto me suele pasar a menudo con las preguntas de los examenes, menos mal que aqui no ponen nota Un saludo
702
« en: Viernes 8 de Octubre de 2004, 08:51 »
Hola  puedes usar este codigo que funciona perfectamente //Debes incluir estas dos librerias #include <cstdlib> #include <ctime> void main() { int valor; srand(time(NULL)); // generacion de una semilla a partir de los segundos del reloj valor= 1 + (rand() % 10); // en valor se almacena el numero aleatorio }
Espero q te sriva , un saludo
703
« en: Jueves 7 de Octubre de 2004, 08:31 »
Hola Creo que no es visual C++, visual C++ se entiende mejor y esta separado en bastantes mas clases, esto creo que es .NET y C#, aunque no estoy seguro, que nos saque de dudas Arwen Ht luego
704
« en: Martes 5 de Octubre de 2004, 23:23 »
Hola de nuevo He estado mirando el codigo y para pasarlo a orientado a objetos te va a costar un poco, quizas puedas aprovechar algun metodo, pero lo mejor es empezar desde cero El libro que te dije esta bien si tienes una base minima de POO , este libro a lo que ayuda es a planear mejor las clases, sus metodos atributos etc, por eso si no has visto nada antes de POO sera mejor que empieces por ahi y luego vayas al libro que te dije La version que esta en internet es "Applying UML and Patterns- An Introduction to Object-Oriented Analysis and Design and the Unified Proc" en Ingles, lo puedes encontrar en el emule Un saludo
705
« en: Martes 5 de Octubre de 2004, 09:59 »
Hola Si realmente quieres hacer una aplicacion con codigo de POO te aconsejo que sigas el UP o Proceso Unificado, son una serie de reglas y patrones que ayudan bastante, ademas puedes usar UML para hacer diagramas de clases, diagramas de interaccion interaccion,etc, con cualquiera de los programas que existen para ello.(pej: Rational Rose), lo que te ayudara a ver las clases, objetos y interacciones entre ellos que debes crear Lo malo es que lleva bastante tiempo y aprenderlo cuesta bastante, yo lo vi en la universidad en 4 meses y aun hay cosas que no llevo muy bien aprendidas. Si estas interesada hay un libro muy bueno: "UML y Patrones, una introduccion al analisis y diseño orientado a objetos y al proceso unificado" de Craig Larman, si sabes ingles hay un ebook escaneado que rula por ahi por internet. Bueno espero q te sirva de ayuda, un saludo
706
« en: Lunes 27 de Septiembre de 2004, 21:03 »
Hola El fallo es evidente, no puedes acceder a la parte privada de una clase desde fuera de ella.Esta es la linea que da el problema: cin >>reg.uv [j];
Para arreglar esto tienes muchas opcciones, la mas de andar por casa seria poner el atributo en public, una mejor seria sobrecargar el operador >>, aqui te pongo un ejemplo de sobrecarga a ver si te sirve:
class vector { friend istream &operator >>(istream &ci,const vector &v); // esto es la declaracion del operador sobrecargado } // esto es la definicion istream &operator >>(istream &ci,const vector &v) { for (inti=0;i<v.num;i++)ci>>v.valores[i]; //recorre el vector e introduce los valores en la variable return ci // siempre hay que devolver ci que es la variable de entrada }
Espero q te sirva , chao
707
« en: Lunes 27 de Septiembre de 2004, 08:15 »
Hola Yo lo que haria seria cargar el archivo de tecto en un *char, y luego recorrerlo con un for. Para saber que caracter es numero puedes utilizar la funcion isdigit de la biblioteca ctype.h. El uso de esta funcion es muy sencillo, aqui te dejo un miniejemplo: #include <stdio.h> #include <ctype.h> // libreria para comparar caracteres main() { int j=0; char cadena="m4t2"; char *almacen; // aqui guardas los numeros for(int i=0;i<5;i++) // recorres la cadena { if(isdigit(cadena[i])==1) // si el caracter de la cadena es un digito devolvera 1 { almacen[j]=cadena[i]; // guardo en almacen ese numero j++ } } almacen[j]='\0' // cierro almacen }
No he probado si funciona el codigo asi que es posible q tenga algun error de sintaxis aunque la idea es esa basicamente. Espero q te sirva Un saludo
708
« en: Viernes 24 de Septiembre de 2004, 19:44 »
ahora si gracias
709
« en: Viernes 24 de Septiembre de 2004, 19:23 »
Wenas Funciones amigas de una clase El siguiente ejemplo ilustra el concepto de amistad, aunque en este programa no es funcionalmente útil. Para que una función sea amiga de una clase, y por tanto tenga acceso a la parte privada de los objetos de dicha clase, sabe ser definida como amiga (anteponiendo la palabra friend al prototipo) en la declaración de la clase. Lógicamente, es la clase la que define quién es amiga suya. Se observa que la función Ver no tiene que indicar en ningún momento quien la considera amiga, de tal forma que podríamos tener millares de clases amigas de dicha función sin que por ello esta vea afectada su definición. Cada una de las clases sin embargo deberá incluir dentro de su declaración la copia del prototipo de la función precedida de la palabra friend. #include <iostream> class A { public: A(int i) {a=I;}; void Ver() { cout << a << endl; } private: int a; friend void Visualiza(A); // "Ver" es amiga de la clase A }; // La función Visualiza puede acceder a miembros privados // de la clase A, ya que ha sido declarada "amiga" de A void Visualiza(A Xa) { cout << Xa.a << endl; } void main() { A Na(10); Visualiza(Na); // imprime el valor de Na.a Na.Ver(); // Equivalente a la anterior }
Se observa como la función visualiza es capaz de acceder directamente al miembro privado a, del objeto Na gracias a su condición de función amiga de la clase. Si en este mismo ejemplo eliminásemos la línea de la declaración de la clase A en la que se define Visualiza como función amiga, el compilador daría un error por intentar acceder a un miembro privado del objeto pasado en Xa. Un saludo
710
« en: Viernes 24 de Septiembre de 2004, 09:47 »
Los de recursosprog creo que han cerrado el chiringuito que mala suerte ¡¡¡
711
« en: Viernes 24 de Septiembre de 2004, 09:44 »
Hola Gracias por tu contestacion, inet= internet  , es que soy un poco vago y pulsar 4 teclas cansa mucho Un saludo
712
« en: Jueves 23 de Septiembre de 2004, 20:50 »
Hola a todos Me gustaria hacer un juego multijugador, sabeis de algun manual basico de sockets en inet? Gracias  Un saludo
713
« en: Miércoles 22 de Septiembre de 2004, 09:56 »
Hola Lo que debes hacer es decir que ambas clases son amiguitas Para ello se usa el comando friend Seria algo tal que asi: class A { public: friend class B; // A es amiga de B, puede acceder a sus metodos o atributos privados private: B* b; } class B { public: friend class A; // B es amiga de A, puede acceder a sus metodos o atributos privados private: A* a; }
Ademas no te olvides de incluir los ficheros de cabecera de A.h en la clase B y viceversa un saludo
714
« en: Sábado 14 de Agosto de 2004, 19:34 »
Hola Si carpeta 1.1 esta dentro de carpeta 1 y el ejecutable esta en el directorio raiz, deberia funcioanr esto: "carpeta1\\carpeta1.1\\fichero.txt" un saludo
715
« en: Jueves 5 de Agosto de 2004, 11:29 »
Hola a todos estoy haciendo una clase para ir cambiando los turnos en una partida de trivial la clase que utilizo es esta: // fichero .h class CTurno { //metodos public: CTurno(); virtual ~CTurno(); CTurno(int tA,int nT); CTurno operator++(); // atributos public: int turnoActual; int numTurnos; };
// fichero .cpp CTurno::CTurno() { } CTurno::~CTurno() { } CTurno::CTurno(int tA,int nT) { turnoActual=tA; numTurnos=nT; } CTurno CTurno::operator ++() { turnoActual++; if(turnoActual>numTurnos)turnoActual=0; return *this; }
el codigo compila bien hago una instancia de CTurno CTurno *turno; turno=newCTurno(0,2); y utilizo botones de la toolbox para ver si cambia bien de turnos // en el primero pongo turno++; if (turno->turnoActual==1)MessageBox("hola"); // el hola es apra ver si llega a 1 // en el otro pongo el siguiente codigo para ver el valor actual del turno int ver; CString ca; ver=turno->turnoActual; ca.Format("%i",ver); MessageBox(ca); pues bien, obtengo los siguientes valores en sucesivas llamadas al primer comando que incrementa el turnoActual 0  // antes de pulsar, va bien -572662307  // primer incremento 81  // segundo incremento 4335844  // tercer incremento 1 ¡¡¡¡¡  // y salta el MessageBox xD xD xD bueno , despues de este rollo, a ver si alguien me puede echar una manita que esto me ha dejado noqueado  gracias
716
« en: Miércoles 4 de Agosto de 2004, 20:51 »
Gracias Ruben, Tu idea me sera de gran ayuda,  me parece la mejor opccion solo son 4 quesitos asi q mas facil toda via  Hasta Luego
717
« en: Miércoles 4 de Agosto de 2004, 20:30 »
Hola KYO Si lo que quieres es que el dialogo este siempre en contacto con la ventana principal , es decir que reciba los mensajes que le lleguen de esta aunque este el dialogo abierto, debes crear un "no modal" de la siguiente manera // en el constructor de la clase de tu dialogo pones esto: Create(IDD_DIALOGO); // IDD_DIALODO es el ID de la plantilla de tu dialogo // haces un puntero a tu clase dialogo por ejemplo en OnCreate() de CMainFrame CTuDialogo *dialogo; dialogo=new CTuDialogo(); // y lo inicializas //finalmente llamas a showwindow en el menu o comando que quieras dialogo->ShowWindow(SW_SHOW); El problema de estos dialogos es que si pulsas sobre la ventana principal pasan a un segundo plano.Tengo yo un post en el foro para ver si alguin sabe como hacer q permanezcan por encima de su ventana principal Espero que te sirva  si encuentras un metodo mejor para hacer esto avisame que necesito algo parecido ht luego
718
« en: Miércoles 4 de Agosto de 2004, 19:59 »
Hola Sergio
Gracias por tu contestacion, pero me exprese mal, lo que yo queria es un dialogo no modal, que me deje acceder al Mainframe pero que este siempre superpuesto a este.Algo parecido a las toolbox
un saludo
719
« en: Miércoles 4 de Agosto de 2004, 19:56 »
Hola neac, gracias por tu respuesta
Intentare hacer loque dices a ver si consigo algo, tambien encontre un ejemplo e una web pero estaba hecho con el winAPI , en este ejemplo lo que hacia era destruir cuando se crea la ventana el RESIZE ( que creo q es un modificador de ShowView o algo asi
un saludo
720
« en: Miércoles 4 de Agosto de 2004, 19:52 »
Gracias KYO al final ya lo consegui hace unos dias, lo hago mas o menos como explicas tu solo que accedo a las variables y no a la clase
721
« en: Martes 3 de Agosto de 2004, 16:01 »
Hola Ruben, gracias por tu respuesta He probado con pop y push Matrix y va fenomenal Aprovecho para preguntarte si sabes alguna manera de crear subdibujos, o submatrices (no se muy bien como definirlo) dentro de otro. Es que lo necesito para hacer unas fichas tipo trivial donde cada vez que acierte una pregunta se le coloque un quesito Si no consigo un metodo mejor habia pensado en incluir ya esos subdibujos con el mismo color que la ficha y simplemente cambiar el color del quesito, dando el efecto de aparicion Gracias por tu tiempo
722
« en: Lunes 2 de Agosto de 2004, 19:27 »
Hola a todos Existe alguna funcion parecida a glTranslatef pero que situe el puntero de pintado en coordenadas absolutas ??? Si no existe, existe alguna que devuelva donde esta situado el puntero, para asi poder llevarlo al origen y hacer un nuevo glTranslate??? Gracias de antemano, ht luego
723
« en: Lunes 2 de Agosto de 2004, 14:51 »
Hola Me gustaria mantener un dialogo siempre visible por encima de la ventana que lo llamo, alguien sabe como hacerlo?? Gracias
724
« en: Sábado 31 de Julio de 2004, 18:12 »
Hola Estoy haciendo una aplicacion SDI en la que necesito que se abran 2 dialogos al pulsar sobre las opcciones del menu superior Creo los dialogos como no modales haciendo //dialogo 1 //Esto en CMainFrame en OnCreate CDialogo1 *d1; d1=new CDialogo1(); // y en el constructor del dialogo pongo: Create(IDD_DIALOGO1); Con el segundo dialogo hago lo mismo, y creo 2 variables de los dialogos para acceder a ellos desde los menus de CMainFrame y asi inicianizarlos CDialogo1 uno; CDialogo2 dos; // los muestro en pantalla con uno.ShowWindow(SW_SHOW); dos.ShowWindow(SW_SHOW); me compila todo perfectamente pero al ejecutar el programa me da un error, primero me sale una advertencia de error y luego otra con una señal de stop y el siguiente texto La instruccion 0x77f41d24 hace referencia a la memoria 0x028e28ae La memoria no se puede "written"  la verdad es q es bastante frustrante si podeis echarme una mano muchas gracias
725
« en: Lunes 26 de Julio de 2004, 10:18 »
Hola a todos
Vereis tengo un problema:
Tengo un dialogo con unos cuadros de texto a los que he asignado unas variables con el class wizard, cuando pulso el boton de aceptar me gustaria que el contenido de las cajas de texto fuera capturado por otra clase, es decir pasar la informacion a otra clase. He probado ahacer un include del dialogo en la clase que quiero que coja los datos y crear una variable del tipo dialogo para poder acceder a las variables de los cuadros de texto pero me da un error : missing storage o no se que leches...
Si teneis alguna idea de como hacer esto .......muxas gracias
Que paseis un wen verano ht luego
Páginas: 1 ... 27 28 [29] 30
|
|
|