• Sábado 15 de Marzo de 2025, 21:21

Mostrar Mensajes

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 ... 24 25 [26] 27 28 ... 32
626
Visual C++ / Re: editor de texto con dll privativa
« en: Jueves 26 de Junio de 2008, 18:36 »
Pues mira, no creo que nadie te ayude porque no quiera, simplemente que con la informacion que proporcionas sobre la dll y el include no es suficiente, a mi no me sirve de nada saber que tipo de parametros aceptan las funciones/metodos, si no se que representan esos valores y para que sirven, todo eso deberia de venir en la documentacion de la libreria. Al menos las librerias que he utilizado tienen la documentacion, asi por ejemplo, en SDL (una libreria para programar videojuegos) tenemos el siguiente metodo:

Código: Text
  1.  
  2. int SDL_Init(Uint32 flags);
  3.  
  4.  

en esta definicion, solo se que SDL_Init regresa un entero, y toma como parametro una variable flags de tipo Uint32, pero ¿que representa ese flags? ¿y que representa el valor int que regresa? Sin la documentacion solo puedes suponer que significa, pero necesitas la documentacion para saber como utilizarla. La documentacion dice:

Citar
Initializes SDL. This should be called before all other SDL functions. The flags parameter specifies what part(s) of SDL to initialize. (Flags should be bitwise-ORed together, e.g. "SDL_INIT_AUDIO | SDL_INIT_VIDEO".)

SDL_INIT_TIMER
Initializes the timer subsystem.

SDL_INIT_AUDIO
Initializes the audio subsystem.

SDL_INIT_VIDEO
Initializes the video subsystem.

SDL_INIT_CDROM
Initializes the cdrom subsystem.

SDL_INIT_JOYSTICK
Initializes the joystick subsystem.

SDL_INIT_EVERYTHING
Initialize all of the above.

SDL_INIT_NOPARACHUTE
Prevents SDL from catching fatal signals.

SDL_INIT_EVENTTHREAD
Run the event manager in a separate thread.

Return Value
Returns -1 on an error or 0 on success. You can get extended error message by calling "SDL_GetError". Typical cause of this error is using a particular display without having according subsystem support, such as missing mouse driver when using with framebuffer device. In this case you can either compile SDL without mouse device, or set "SDL_NOMOUSE=1" environment variable before running your application.

Para cualquier funcion de cualquier libreria, necesitas la documentacion, incluso la documentacion de la API de windows esta disponible, sin esta documentacion es casi imposible saber como utilizar una libreria.

Dejando a un lado eso, me parecio muy poco cortes de tu parte exigir una respuesta. A nadie en este foro se le paga por ayudar, la mayoria lo hacemos porque nos gusta y en nuestro tiempo libre, la ayuda que se da, es un privilegio y no un derecho, solo recuerda eso.

Saludos  :hola:

627
Novedades en SoloCodigo / Re: Ya estamos de vuelta :)
« en: Martes 24 de Junio de 2008, 05:01 »
Cita de: "lencho"
no se si estoy mal, pero aun no encuentro el famoso VER POST DESDE LA ULTIMA VISITA !!!.  :(  :(  :(

Saludos.


BYTE

En la pagina principal del foro, se da click en donde dice "Buscar mensajes nuevos", o tambien se puede con:

http://foros.solocodigo.com/search.php?search_id=newposts

Quizas lo que se podria hacer, es poner un enlace a esa url, en la parte de arriba, en la barra donde dice enlaces web, noticias, chat, para que apareciera en todas las páginas.

628
Novedades en SoloCodigo / Re: Ya estamos de vuelta :)
« en: Lunes 23 de Junio de 2008, 01:22 »
Me encanta el nuevo foro, mucho mas que el anterior, siempre he preferido los foros en phpBB a los foros hechos con otro software.

Una pregunta, a partir de cuantos mensajes se considera a un miembro hiperactivo? y un colaborador?

629
C/C++ / Re: Archivos Y Arrays
« en: Domingo 22 de Junio de 2008, 03:36 »
Esa funcion no existe, lo que dices se puede hacer leyendo el archivo, y guardandolo en un array, pero dices que no quieres usar las funcion de de leer archivo, asi que no, no se puede como tu quieres.

630
Sobre los Foros de SoloCodigo / Re: Pseudocodigo
« en: Viernes 20 de Junio de 2008, 19:54 »
Cita de: "leo_chajari"
si eso asi debatimos acerca de la programacion en pseudocodigo asi como en pascal jaca c++ etc.
No le veo el caso, el pseudocodigo NO es un lenguaje de programacion, solo es una forma de representar un algoritmo, como los diagramas de flujo, asi que es correcto publicar cualquier duda en el foro de diseño de algoritmos.

Saludos :hola:

631
Pascal / Re: Juego De Invasion De Letras
« en: Viernes 20 de Junio de 2008, 19:48 »
Cita de: "M@ye"
:huh: Hoooola amigos!!!!
este problemilla no me lo resuelven los librillos...
Por que al pasar un proceso de un programa principal a un procedimiento para usarlo luego, éste me de resultados distintos siendo las mismas lineas de codigo cortadas y pegasdas????  :huh:
Graciiiiiiiiiiiiiiiiiias!!!!!!!!!!!
Pues si no pones el codigo fuente es dificil saber porqué, pero, sospecho que se debe a las variables, al pasar tu codigo a un procedimiento, si usas variables locales y parametros por valor, recuerda que un parametro por valor conserva su valor original que tenia antes de entrar al procedimiento, y al salir del procedimiento, cualquier operacion que hayas hecho con las variables se pierde, entonces deberias usar parametros por referencia, aunque como dije, es un tiro a ciegas sin ver el codigo fuente.

Saludos :hola:

632
C# / Re: Winforms Y Console.write
« en: Viernes 20 de Junio de 2008, 03:30 »
Pues esa es la respuesta, utiliza una aplicacion de consola, con eso ya puedes usar la consola, el que sea de consola, no significa que no puedas usar windows forms ;)

Prueba esto, en el proyecto que estas haciendo, ve a propiedades de proyecto, en tipo de resultado, cambia "aplicacion para windows" por "aplicacion de consola", y ejecutalo, veras que ademas del formulario, te aparecera una ventana negra, con la salida de consola.

Saludos :hola:

633
C/C++ / Re: Hacer Referencia A Una Palabra
« en: Sábado 14 de Junio de 2008, 00:28 »
Cita de: "utz"
...pero en ves de almacenar un numero en la variable me gustaria almacenar una palabra, y despues mostrar un algo con un printf segun la opcion, hasta ahora solo lo se hacer de este modo, he tratado de hacerlo almacenando la respuesta en una variable de tipo char, pero eso me impide hacer uso del switch, y hacerlo con un if me sale poco rasonable...
 
pues lamentablemente el switch/case solo admite valores escalares o sea, numeros enteros, o letras individuales, si necesitas comparar con numeros flotantes, o cademas, debes usar if a fuerza, y en el caso de cadenas, como bien apunta el compañero AnimaSubtilis en su mensaje anterior, debes usar ademas strcmp, o, si usas C++, la clase string.

Saludos :hola:

634
C/C++ / Re: Evaluar Una Funcion En C++
« en: Miércoles 11 de Junio de 2008, 02:49 »
Pues no entiendo muy bien lo que tratas de hacer, pero me parece que tienes el mismo error que en este hilo que pusiste antes:

http://foros.solocodigo.com/index.php?showtopic=35709&hl

o sea :

Código: Text
  1.  
  2.  if (x=0)
  3.  
  4.  

debe ser:
Código: Text
  1.  
  2.  if (x==0)
  3.  
  4.  

El operador de igualdad es "==" (doble igual), no "=", el "=" significa asignacion, o sea que lo que haces es guardar el valor de cero en la variable x, y como cero significa falso, la condicion nunca se cumple.

Te recomiendo que des un buen repaso a los operadores, porque se nota que te confundes.

Saludos :hola:

635
C/C++ / Re: Inicializar Un Nodo...
« en: Martes 10 de Junio de 2008, 03:12 »
Pues me temo que no, la insercion no es asi, al insertar un nodo es necesario "mover" los apuntadores, no basta con crear el nodo con new, tu como programador eres el encargado de "insertar" el nodo en el lugar correcto, esto puede variar, segun hagas insercion al frente, insercion en medio, o insercion al final de la lista, en el caso de insertar al frente debes:

1. Usar una variable que apunte al primer elemento de la lista, supongamos que llamas a esa variable cabeza, antes de insertar elementos, o sea, cuando la lista este vacia, debes hacer cabeza igual a null, eso te indicara que la lista esta vacia, valga la redundancia.

2. Creas el nodo.

3. haces que nodo->siguiente apunte al primer elemento de la lista (o sea, a cabeza)

4. haces que cabeza apunte al nuevo nodo

5. repites del 2 al 4, cada vez que insertes un nodo nuevo.

Código: Text
  1.  
  2. void agregar1(Tnodo **L)
  3. {  
  4.   Tnodo *n=new Tnodo;
  5.   n->dato=3;
  6.   n->sgt=*L;
  7.   *L=n;
  8. }
  9. void imprimir(Tnodo *L)
  10. {  
  11.   while (L!= NULL)
  12.   {  
  13.     cout << L->dato << endl;
  14.     L=L->sgt;
  15.   }
  16. }
  17.  
  18.  

En la wikipedia puedes encontrar mas informacion y un codigo en C para insercion al frente.

http://es.wikipedia.org/wiki/Lista_%28estructura_de_datos%29
El resto de inserciones busca en google, seguro encontraras ejemplos ;)

636
C/C++ / Re: Inicializar Un Nodo...
« en: Domingo 8 de Junio de 2008, 23:36 »
Pues lo mejor es inicializarlo con NULL, que significa nulo, es una forma de comprobar que no apunta a nada, una vez que quieras comenzar a guardar datos, entonces si, debes usar new, para asignarle espacio, mientras no uses new, tu variable no tiene espacio asignado, y es un error tratar de guardar datos en el, si lo haces, puedes corromper la memoria.

637
C/C++ / Re: Inicializar Un Nodo...
« en: Domingo 8 de Junio de 2008, 21:23 »
Cita de: "x3mjr"
mi pregunta es... cómo debo inicializarlo??? he visto que por allí el uso del NEW, pero tambien he visto que usan el sizeof.... Espero me ayuden con esto... Gracias!

Eso depende, si estas usando C, debes usar malloc/free con sizeof, si usas C++, debes usar new/delete. Mi recomendacion seria el utilizar new/delete, pero eso depende de que estes viendo si C, o C++.

El sizeof te da el tamaño en memoria del dato/estructura, por ejemplo, si haces:

sizeof(int);

por lo regular te dara 2, porque 2 bytes es el tamaño de los int en memoria, en tu caso:

sizeof(tipoNodo)

te daria 4, 2 bytes del int, y 2 bytes del apuntador al nodo.

malloc necesita saber el tamaño de la memoria que debera apartar, es la razon de usar sizeof con malloc,  new no lo necesita, automaticamente sabe cuanta memoria apartar segun el tipo de dato.

Resumiendo, si usas C:

Código: Text
  1.  
  2. // Asignar espacio en memoria para el nodo
  3. tipoNodo *Nuevo = (tipoNodo*) malloc(sizeof(tipoNodo));
  4. // Liberar la memoria
  5. free(Nuevo);
  6.  
  7.  

Si usas C++
Código: Text
  1.  
  2. // Asignar espacio en memoria para el nodo
  3. tipoNodo *Nuevo = new tipoNodo;
  4. // Liberar la memoria
  5. delete Nuevo;
  6.  
  7.  

Hay otras ventajas del uso de new/delete sobre malloc/free, pero lo mejor es que busques tu mismo la respuesta en un libro de C/C++ ;)

Saludos :hola:

638
C/C++ / Re: Problema En Lectura De Ficheros
« en: Domingo 8 de Junio de 2008, 00:39 »
Cita de: "fachamix"
Si has probado tu codigo y funciona, quiere decir que yo estaba errado en mi suposicion , sino , hacemelo saber, porke capaz que tenga que instalar de nuevo este compilador che.
Si, este codigo lo probe y funciona, si te fijas, el amigo no puso el codigo completo, yo lo acomplete con lo que faltaba, eso si el archivo bancos.txt debe de existir antes de ejecutar el programa, porque primero lee y luego escribe. Lo compile y ejecute con Visual C++ Express 2008, no lo probe con mingw, pero debe de funcionar tambien.

Saludos :hola:

639
C/C++ / Re: Problema En Lectura De Ficheros
« en: Sábado 7 de Junio de 2008, 22:02 »
El problema es que  fic.read es para leer los datos en formato binario, y como los datos estan en formato texto, es la razon del fallo, debes leer/escribir en formato texto. Si ademas quieres guardarlo en otro archivo, debes abrir otro archivo, pero en modo escritura, a continuacion te dejo la manera correcta de leer/escribir en formato texto con fstream:

Código: Text
  1.  
  2. #include <string>
  3. #include <iostream>
  4. #include <fstream>
  5. #include <cstdlib>
  6.  
  7. using namespace std;
  8.  
  9. struct Talumno{
  10.   char dni[11];
  11.   string nombre;
  12.   string apellidos;
  13.   string cantidad;
  14. };
  15.  
  16. int main()
  17. {
  18.   Talumno alumno;
  19.   string linea;
  20.  
  21.   fstream fic1;
  22.   fstream fic2;
  23.  
  24.   // Lectura
  25.   fic1.open("bancos.txt", ios::in);
  26.   // Escritura
  27.   fic2.open("bancos2.txt", ios::out);
  28.   if(!fic1)
  29.   {
  30.     cout << "error de apertura del fichero" << endl;
  31.   }
  32.   else
  33.   {
  34.     // Lees
  35.     fic1 >> alumno.dni >> alumno.nombre >> alumno.apellidos >> alumno.cantidad;
  36.     // Escribes
  37.     fic2 << alumno.dni << " " << alumno.nombre << " " << alumno.apellidos << " " <<alumno.cantidad;
  38.   }
  39.  
  40.   fic1.close();
  41.   fic2.close();
  42.  
  43.   system("pause");
  44.   return 0;
  45. }
  46.  
  47.  
  48.  

Nota como al escibir dejo espacios entre cada variable, de esa forma se conserva el espacio, porque si no, al escribir en el segundo archivo, estaria todo junto.

Saludos :hola:

640
C/C++ / Re: Laberinto; ¿validar Entradas ?
« en: Sábado 7 de Junio de 2008, 21:32 »
Pues si ya casi lo tienes, por lo que veo, al pulsar una tecla, mueves, pero nunca verificas si la casilla esta vacia o no, asi que antes de que muevas, verifica con un if si la casilla a la que te piensas mover esta vacia, si lo esta, entonces te mueves, si no lo esta, te quedas donde estas, yo utlizaria dos variables mas para representar la pocision futura, o sea, algo como:

Código: Text
  1.  
  2. // las variables x1 y y1, representarian la posicion a la que te piensas mover, x,y es la posicion en la que estas
  3. if (matriz[x1][y1]==0)
  4. //te mueves
  5. else
  6. //te quedas en la misma posicion
  7.  
  8.  

Recuerda otro detalle, las matrices comienzan en cero, asi que la posicion 1,1 de la pantalla, seria la 0,0 de la matriz.

641
Visual C++ / Re: Algo Ahi De Nodos Y Listas
« en: Sábado 7 de Junio de 2008, 21:10 »
Cita de: "elberttri"
Gracias por responder pero es que en el trabajo q e asignaron no se puede usar el struct sino crear una clase tipo nodo q se haga referencia a si misma por un nodo
Pues yo no le veo el problema, si utilizas una clase la declaracion seria muy parecida:

Código: Text
  1.  
  2. class Tnodo
  3. {
  4. public:
  5.   int Valor;
  6.   Tnodo*  siguiente;
  7. };
  8.  
  9.  

Y la creacion:

Código: Text
  1.  
  2.   Tnodo* nodo = new Tnodo();
  3.   nodo->Valor = 1;
  4.   nodo->siguiente = NULL; // o apuntarlo al nodo correcto
  5.  
  6.  

fuera de eso, aplica lo mismo que para las listas con struct.

642
C/C++ / Re: Minifallo En El Código
« en: Jueves 5 de Junio de 2008, 19:15 »
Cita de: "aprendizdec"
Buenas, un saludo a todo el foro.

Introduzca primer numero: 5
Introduzca segundo numero: 2
3.000000

Por qué no sale 3.50000 ??

El problema es que defines tus variables de tipo entero (int) y el numero 2 tambien es entero, como todos son enteros, los resultados son de tipo entero, y luego lo asigna a la variable float. El resultado de dividir 5+2 (7) entre 2 da 3 y sobra uno (en entero claro).

Para obtener un resultado float, al menos uno de los operandos debe ser float, ya sea que definas a y b de tipo float, o conviertas tu 2 a float. prueba lo siguiente:

Código: Text
  1.  
  2.     media = ( a + b ) / 2.0;
  3.  
  4.  

al poner 2.0, se convierte en float, y entonces ahora si obtendras un resultado float, 3.5

Saludos :hola:

643
C/C++ / Re: Que Esta Mal En Mi Codigo?
« en: Martes 3 de Junio de 2008, 02:12 »
Cita de: "franz."
Pero si si estoy leyendo  :blink: y me estoy esforzando, por lo mismo vengo a preguntar por que estoy leyendo aprendiendo c pero como ya habia lehido bsatante tambien queria empezar a practicar los temas que he leido y despues de eso continuar con los demas temas por que si no practico no se me va a quedar nada, estoy aprendiendo con este:
Curso de C Carlos Pes
pues errores tan basicos como olvidar poner el main, me suena a que no has leido bien   :whistling:

644
C# / Re: Enum Dinamico
« en: Sábado 31 de Mayo de 2008, 19:53 »
Vaya, no sabia que se pudiera hacer, se aprende algo nuevo cada dia :)

Gracias JuanK y E.Baley

645
C# / Re: Enum Dinamico
« en: Viernes 30 de Mayo de 2008, 22:53 »
No es posible hacer eso.

646
C/C++ / Re: Como Instalar Las Sdl En Code::blocks Para Xp
« en: Martes 27 de Mayo de 2008, 03:05 »
SDL es Simple Directmedia Layer, una biblioteca de funciones graficas, y multimedia, parecida a Allegro.

Ahora, respecto a tu duda, yo lo que hice cuando use code::blocks, es compilarlo manualmente (o sea, en linea de comandos), y despues solo copie la el archivo libsdl.a a la carpeta lib de mingw, y la dll, a mi carpeta en donde tengo mi ejecutable, y ya de ahi, añado la libreria a mi proyecto en code::blocks.

647
C/C++ / Re: Implementar Calse Arbol General
« en: Martes 27 de Mayo de 2008, 03:00 »
Aqui no hacemos tareas, contestamos dudas puntuales, siempre que tengas hecho algo.

Trata de hacerlo tu mismo/a, y entonces, si te atoras en una parte ESPECIFICA del codigo, entonces podemos ayudarte, antes no, ni dartelo todo listo, asi que ¡A TRABAJAR!, ya lo sabes

648
C# / Re: Problema Al Correr Mi Sistema
« en: Domingo 18 de Mayo de 2008, 03:42 »
Código: Text
  1.  
  2.         private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
  3.         {
  4.             label1.Text = monthCalendar1.SelectionStart.ToString();
  5.         }
  6.  
  7.  

649
C# / Re: Problema Al Correr Mi Sistema
« en: Domingo 18 de Mayo de 2008, 00:52 »
C# es muy diferente a VB, en C# la ejecucion comienza en el metodo Main(), no se especifica el formulario que quieres que aparezca primero en una opcion como en VB, sino que debes llamar al formulario que quieres que aparezca primero, dentro del metodo Main(), por medio de Application.Run(new Form1()), en donde Form1 es la clase que define tu formulario. Te recomiendo que crees una Windows Application de cero por medio del asistente, para que te fijes como se debe definir.

Saludos :hola:

650
C/C++ / Re: Borlan C++ 3.1,,
« en: Viernes 16 de Mayo de 2008, 19:19 »
Lo que sucede es que clrscr(), ademas de gotoxy() y otras, pertenecen a una libreria que no es estandar (solo esta incluida en compiladores borland), la famosa conio, que por cierto se recomienda no utilizarla por lo mismo de que no es estandar.

Si te interesa, hay un reemplazo para Dev-cpp, conio.c, que incluye algunas (no todas) de las funciones de conio, como por ejemplo clrscr(), la puedes encontrar aqui:

Libreria Conio

Páginas: 1 ... 24 25 [26] 27 28 ... 32