• Domingo 11 de Mayo de 2025, 00:06

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 - Diodo

Páginas: 1 ... 15 16 [17] 18 19 ... 30
401
Visual C++ / Re: Creando Un Array De Estructuras
« en: Jueves 8 de Septiembre de 2005, 08:19 »
Hola

Lo compile con Visual Studio.net y ahora he probado con DevC++ y en ninguno de los 2 da errores.Y ni si quiera warnings, ni errores de ejecucion

Asi que ....... el problema no es el codigo.Haz un copy paste del que te puse yo a ver q tal ......

salu2  :hola:

402
OpenGL / Re: Que Es Lo Que Pasa¡¡¡¡
« en: Miércoles 7 de Septiembre de 2005, 20:44 »
Hola

Realmente no entiendo nada  ;)

Explicate mejor, a que juego te refieres? tienes por ahi el codigo?

403
C/C++ / Re: Diferencia De Fechas Con Structuras
« en: Miércoles 7 de Septiembre de 2005, 09:24 »
Hola

A primera vista si que esta bien.¿Te compila bien?
Lo que deberias hacerle tambien es una comprobacion de que las entradas que mete el usuario esten bien, es decir, que no meta por ejemplo en el mes un numero mayor de 12 ni en el dia un numero mayor de 31.

Bueno empieza con la operacion de hallar los dias enre 2 fechas, y si tienes alguna duda lo dices por aca.

salu2  :hola:

404
C/C++ / Re: Diferencia De Fechas Con Structuras
« en: Martes 6 de Septiembre de 2005, 23:08 »
Hola

La manera mas facil que se me ocurre para hacer esa operacion es calcular el numero de dias transcurridos desde el año 0 mes 0 dia 0.Por ejemplo: 4-4-2002

dias                 ---> 4
dias*meses      ---->30*3=120
dias*años         ---->365*2001= lo que sea

y sumas todos los dias

Esto suponiendo que los meses tienen todos 30 dias.Si quieres hacerlo exacto pues te haces un vector entero de 12 elementos,donde cada elemento sera el numero de dias correspondiente a ese mes y vas haciendo sumas de los elementos hasta n=numero del mes-1

Una vez pasadas las fechas a dias, solo tendrias que restar a la fecha mas reciente la fecha mas antigua, obteniendo asi la diferencia de dias

Espero que no te haya liado mas  :lol:

salu2  :hola:

405
C/C++ / Re: Una Cruz Que Se Mueva Con El Teclado
« en: Martes 6 de Septiembre de 2005, 09:13 »
Hola

Una pregunta para poder ayudarte: ¿que compilador usas?

406
C/C++ / Re: Equvalencia De Delay()
« en: Martes 6 de Septiembre de 2005, 09:11 »
Hola,no hay de que, yo te podria explicar timers para visual c++ pero veo que estas usando turbo c. En realidad si te funciona bien la funcion delay mejor no cambiar a timers, ya que su uso tampoco va muy encaminado a hacer retardos, si no que mas bien es para realizar una funcion cada x tiempo, o llevar un control del transcurrir del programa.

salu2  :hola:

407
C/C++ / Re: Diferencia De Fechas Con Structuras
« en: Martes 6 de Septiembre de 2005, 09:01 »
Hola

Para empezar te dire que la utilidad de las estructuras es crear un nuevo tipo de datos, por lo que esto que haces no tiene mucho sentido
Código: Text
  1.  
  2. struct primer{
  3. int anio;
  4. int dia;
  5. int mes;
  6. }fecha;
  7. struct segunda{
  8. int anio2;
  9. int dia2;
  10. int mes2;
  11. }fecha2;
  12.  

Deberias crear fuera del main la estructura para guardar un tipo de dato fecha, algo asi:

Código: Text
  1.  
  2.  
  3. struct fecha{
  4. int anio;
  5. int dia;
  6. int mes;
  7. };
  8.  
  9.  

Entonces dentro del main ya puedes declarar tantos tipos de datos fecha como quieras (cada uno tendra dentro 3 ints)

Código: Text
  1.  
  2. void main()
  3. {
  4.  
  5. fecha f1;
  6. fecha f2;
  7. // y ahora podrias rellenar el contenido de fechas u operar con ellas
  8. }
  9.  
  10.  


Espero que te sirva

salu2 :hola:

408
C/C++ / Re: Ayuda!!!!!!!!
« en: Lunes 5 de Septiembre de 2005, 16:59 »
Hola

No hay de que, yo encantado de haberte ayudado a que hagas tu primer programilla en C.
Un tutorial que esta muy bien es este:

http://mec21.etsii.upm.es/ayudainf/aprenda...nsiC/leng_c.pdf

Yo aprendi con un libro muy bueno que si tienes la oportunidad de comprar o coger de una biblioteca , te lo aconsejo

Se llama "Programacion estructurada en C" (Autor: James.L.Antonakos) Editorial Prentice Hall

Tambien te sera de ayuda esta pagina, donde hay algunos manuales y codigos de ejemplo:

http://www.elrincondelc.com/portal/index.php

Bueno espero que te sea de ayuda, y si tienes alguna duda por aqui estamos dispuestos a ayudarte  :comp:

salu2  :hola:

409
C/C++ / Re: Ayuda!!!!!!!!
« en: Lunes 5 de Septiembre de 2005, 16:02 »
Hola,bienvenido al foro

Lo que sucede es que el ejecutable que crea el devcpp por defecto cierra la ventana de consola msdos al terminar la ejecucion

para solucionarlo simplemente pon esto antes del return 0

getchar();

Código: Text
  1.  
  2. #include <stdio.h>
  3.  
  4. int main()
  5. {
  6. /* Aquí va el cuerpo del programa */
  7. printf( "Hola mundo\n" ); /* Esto imprime hola mundo en pantalla */
  8. getchar(); /* El programa se queda esperando a que el usuario presione una tecla*/
  9. return 0; // fin exitoso del programa
  10. }
  11.  
  12.  
  13.  

Lo que hace esta funcion es bloquar la ejecucion del programa hasta que pulses una tecla

Asi podras ver el "Hola Mundo"  :D

saludos  :hola:

410
Visual C++ / Re: Bases De Datos
« en: Domingo 4 de Septiembre de 2005, 19:05 »

411
Visual C++ / Re: Cdialog
« en: Sábado 3 de Septiembre de 2005, 21:00 »
Hola

Esta es la sintaxis de ModifyStyle

cajadetexto.ModifyStyle(IDC_EDIT,ES_NUMBER,1);

Con esto se activa la propiedad ES_NUMBER en la caja de texto (lo que no he conseguido es desactivarla

Si miras en la pagina de msdn sobre el tema veras que dice que hay algunos controles que una vez creados no permiten que sean modificadas sus propiedades

Para el caso de ES_NUMBER pone

Citar
ES_NUMBER
Allows only digits to be entered into the edit control. Note that, even with this set, it is still possible to paste non-digits into the edit control.
To change this style after the control has been created, use SetWindowLong.

Asi que se supone que tambien puedes usar SetWindowLong

Espero que te sirva

salu2  :hola:

412
Visual C++ / Re: Cdialog
« en: Viernes 2 de Septiembre de 2005, 12:35 »
Hola

Este mensaje deberia ir en el foro de Visual C++

¿Cuando dices restringir a solo numeros a que te refieres?¿Que si introduce una letra no aparezca en el edit box?

Si estas usando visual c++.net existe una propiedad de los editbox que se llama number si la activas solo dejara meter numeros en la caja

En Visual Studio 6.0 creo que no hay esa propiedad.Pero puedes hacerla facilmente implementado el metodo OnChange del editbox que salta cada vez que se introduce un caracter.Asi puedes poner un codigo de verificacion del caracter en el metodo (si es un numero que lo ponga si es una letra u otro caracter que no lo ponga).

salu2 :hola:

413
Visual C++ / Re: Crear Instalador De Mi Aplicacion
« en: Jueves 1 de Septiembre de 2005, 17:56 »
Esta bien el programilla.

¿Seguro que viene con Visual C++ 6.0?

No me suena mucho el nombre.¿Que viene en el menu de herramientas o a parte?

414
Visual C++ / Re: Crear Instalador De Mi Aplicacion
« en: Jueves 1 de Septiembre de 2005, 17:32 »
Hola

Asi a primera vista deberias instalar:

mfc42.dll --> libreria de las mfc, aunq es posible que necesite alguna mas dependiendo del SO
OpenGl32.dll --> libreria de opengl (si usas glut glut32.dll)

lo mejor para saber lo que tienes que instalar, es instalarlo y si te falta alguna libreria ya se encarga de pedirtela el SO

salu2

415
C/C++ / Re: Exactitud De Flotantes
« en: Jueves 1 de Septiembre de 2005, 00:08 »
Hola

Debes cambiar el numero de dedimales a mostrar o simplemente poner %f

Código: Text
  1.  
  2. printf("solucion final  %.3f\n",solucion);  // la solucion que querias
  3.  
  4.  

Lo puse porque si no quedaria asi

por ejemplo 1,235422 con 3 decimales queda asi  1,2350000 es lo mismo pero queda mejor para mostrarlo

salu2

416
Programación de Aplicaciones para Dispositivos / Re: Control De Velocidad
« en: Miércoles 31 de Agosto de 2005, 20:49 »
Ya me cargo la pagina:  :lol:

http://www.fiobera.unam.edu.ar/Materias/Co...ital/motor.html

Yo creo que de ahi la puedes sacar  B)

Suerte  :hola:

417
Programación de Aplicaciones para Dispositivos / Re: Control De Velocidad
« en: Miércoles 31 de Agosto de 2005, 20:20 »
mmm .... pues si esta complicado pq a 45 rpm yo creo que alcanza el reg estacionario incluso antes de dar media vuelta.Va a ser que este metodo no vale  ;)

Si se mas o menos como se hace la fdt, aunque tendria que mirarmelo un poco.El año pasado hice un control de posicion para un motor de cc, asi que mirare algo por ahi

Ahora estaba intentando cargar una pagina que esta muy bien donde vienen ejemplos de control de sistemas, pero parece que se resiste, viene el control de posicion y velocidad de un motor y creo que tambien desarrollaban la fdt

Es esta pagina

http://www.fiobera.unam.edu.ar/
http://www.fiobera.unam.edu.ar/Materias/Co.../home.text.html

Intenta a ver si puedes acceder

Si no mañana o pasado te busco la fdt

salu2  :hola:

418
Programación de Aplicaciones para Dispositivos / Re: Control De Velocidad
« en: Miércoles 31 de Agosto de 2005, 19:57 »
Bueno realmente no se como tienes montado el asunto, supongo que sera entonces un contador de rpm? Pues supongo que deberias ingeniartelas para muestrear la señal cada x tiempo con el ordenador,pero supongo que necesitarias una tarjeta de adquisicion de datos o algo asi que fuera contado el numero de pulsos que envia el sensor y cada x tiempo trazara en una grafica un valor de revoluciones.No se si me explico.

419
Programación de Aplicaciones para Dispositivos / Re: Control De Velocidad
« en: Miércoles 31 de Agosto de 2005, 19:39 »
Hola, de nuevo.

He estado mirando un poco por mis apuntes para refrescar un poco las ideas.

El metodo consiste en lo siguiente:

Primero debes de aplicar una entrada en escalon al sistema y recoger, mediante la celula que tienes para medir, la velocidad la respuesta del regimen transitorio ( es decir hasta que la señal de salida alcance un valor y no tenga variaciones)

Una vez hecho esto simplemente lo que hace el metodo de ziegler nichols es asemejar esa respuesta obtenida con un sistema de primer orden + un retardo puro.
Para ello has de trazar  la tangente maxima a la curva como te indico en esta grafica:



Donde corte la tangente con el eje x sera L= retardo puro
Donde corte la tangente en la recta de Y(inf) hasta donde cortaba al eje x sera T= cte de tiempo del sistema de primer orden
Y K sera la ganancia

Una vez hecho esto basta con obtener los valores del regulador, a partir de K,T y L obtenidos anteriormente,mediante esta tabla



Eso es todo

Espero que te sirva de ayuda

salu2  :hola:

420
Programación de Videojuegos / Re: Pasos Para Realizar Un Videojuego
« en: Miércoles 31 de Agosto de 2005, 17:54 »
Creo que estan dando al chaval mas informacion de la que puede abarcar  :lol:
Como empiece con directx va a acabar loco.Yo creo que lo mejor para empezar es hacer algo simple en 2D,empezar con experimentos para mover imagenes por pantalla, capturas de teclas, y alguna colision y para eso yo creo que SDL va de sobra bien.

Ademas no sabemos que experiencia tiene ni que lenguajes de programacion conoce o domina.En esto coincido con los compañeros, c++ es el mejor, y mucho mas si haces POO que hace que las cosas no sean tan abstractas.Si sabes ya algo de c++ lo mejor para complementarlo es UML que son una serie de reglas y diagramas que ayudan a ver la solucion optima a la hora de programar

salu2  :hola:

421
Programación de Aplicaciones para Dispositivos / Re: Control De Velocidad
« en: Miércoles 31 de Agosto de 2005, 17:40 »
Hola

Existe un metodo experimental (metodo de Ziegler Nichols) con el que puedes sacar reguladores P,PI y PID sin saber como es la planta del sistema

Si me da tiempo hoy te explico de que va el tema (tendria uqe hacerte una grafica para que lo entendieras mejor)

De todas formas si tienes la hoja de propiedades del motor, donde te vengan las constantes de este , su par,alimentacion etc, seria facil sacar la planta

salu2

422
C/C++ / Re: Exactitud De Flotantes
« en: Miércoles 31 de Agosto de 2005, 14:20 »
Hola, no se si existira algun metodo para hacerlo directamente.Le estuve dando vueltas y saque esta forma de hacerlo manualmente.Es un poco engorrosa pero va bien

Código: Text
  1.  
  2.  
  3. void main()
  4. {
  5. float num_dec=1000; //numero de decimales que quieres tomar(tantos ceros como decimales)
  6. float x=23;
  7. float y=12;
  8. float z=x/y;
  9. printf("resultado de la division  %f\n",z);
  10. int entero=(int)z; // cojo la parte entera
  11. float decimal=z-entero; // cojo la parte decimal
  12. printf("parte decimal del resultado  %f\n",decimal);
  13. int num=num_dec*decimal;  // multiplico la parte decimal por el numero de decimales que queremos y lo paso a int
  14. printf("los decimales que nos interesan  %i\n",num);
  15. float solucion=entero+(1/num_dec)*num;  // recompongo el numero con los decimales que queremos
  16. printf("solucion final  %.3f\n",solucion);  // la solucion que querias
  17. }
  18.  
  19.  

Puedes apañarla un poco y meterla en una funcion en la que le pases el numero decimal y el numero de decimales a tomar y que te devuelva el float con los decimales ya apañados.Al numero de decimales a tomar deberias aplicarlo como exponente en una potencia de base 10 para conseguir la variable num_dec del ejemplo

Espero que te sirva

salu2  :hola:

423
C/C++ / Re: Exactitud De Flotantes
« en: Miércoles 31 de Agosto de 2005, 10:03 »
Hola

No entiendo muy bien ....., si puedes poner un ejemplo claro de lo que pides

salu2  :hola:

424
C/C++ / Re: Equvalencia De Delay()
« en: Miércoles 31 de Agosto de 2005, 10:00 »
Hola

Puedes usar el buscador del foro ya que hay muchas discusiones sobre este tema

http://foros.solocodigo.com/index.php?act=...ighlite=retardo

http://foros.solocodigo.com/index.php?act=...&highlite=sleep

saludos  :hola:

425
C/C++ / Re: Memoria Dinamica
« en: Martes 30 de Agosto de 2005, 16:25 »
Hola

El problema lo tienes cuando haces:

Código: Text
  1.  
  2.  tabla->tablero = (char **) malloc (tabla->filas * sizeof (char *));
  3.  
  4.  

Estas reservando memoria para un char** pero en un char*

Aca te dejo un pequeo ejemplo basado mas o menos en el tuyo, que creo deberia funcionar

Código: Text
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5.  
  6. typedef struct
  7. {
  8. int filas,columnas;
  9. char **mat;
  10. }datos;
  11.  
  12. char **crear_tabla (datos dat)
  13. {
  14. int i;
  15. char **matriz;
  16. matriz = (char **) calloc(dat.filas,sizeof(char *));
  17. for( i=0; i<dat.filas; i++ )
  18.   matriz[i] = (char *) calloc( dat.columnas, sizeof(char));
  19.   for(int i=0;i<dat.filas;i++)
  20. {
  21. for(int j=0;j<dat.columnas;j++)
  22. {
  23. matriz[i][j]='a';
  24. }
  25. }
  26. return matriz;
  27.  
  28. }
  29.  
  30. int main(int argc, char *argv[])
  31. {
  32. char **recoge;
  33. datos dato;
  34. dato.filas=3;
  35. dato.columnas=4;
  36. dato.mat=crear_tabla(dato);
  37. dato.mat[1]="hola";
  38.  
  39. for(int i=0;i<dato.filas;i++)
  40. {
  41. printf("\n");
  42. for(int j=0;j<dato.columnas;j++)
  43. {
  44. printf("%c",dato.mat[i][j]);
  45.  
  46. }
  47. }
  48.  
  49. getchar();
  50. return 0;
  51. }
  52.  
  53.  

Como puedes ver la funcion es char** por lo que devuelve los datos a donde apunta, y asi puedes recogerlos en el char** de la estructura en el main

Esta linea era simplemente para ver si podia modificar una fila de la matriz bidimensional

Código: Text
  1. dato.mat[1]="hola";
  2.  

Espero que te sirva

salu2  :hola:

Páginas: 1 ... 15 16 [17] 18 19 ... 30