elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 358
91  Programación / Programación C/C++ / Re: Intentar que me ejecute esta aplicación en: 1 Abril 2017, 15:02
En primer lugar, lo que dije. IsConnected no hace nada.
Código
  1. Puerto->IsConnected();
  2. // Encener luz.
  3. Puerto->WriteData(Luz_ON, sizeof(Luz_ON) - 1); // Envía al puerto el texto "Luz_ON".
Lo que tendrías que poner es un if(IsConnected()) antes de escribir datos. Si no está conectado, mostrar un mensaje de error al usuario o deshabilitar botones del formulario, lo que sea.

Luego:
Citar
unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?
¿Te dice ese error sin más o te marca el error en un archivo en concreto?

Y otro detalle:
Código
  1. Serial* Puerto = new Serial("COM4");
Serial* puerto;, deberías tenerlo como un campo de la clase CMFC_ArduinoDlg, inicializarlo en el constructor y liberarlo en el destructor. Ten en cuenta que actualmente no liberas la memoria nunca (podrías, de hecho, quitarle el puntero y dejarlo como Serial puerto("COM4");.

Y otra cosa:
Citar
Si lo ejecuto me aparece esto:
¿Si lo ejecutas o si lo compilas? Antes dices que "pasan cosas raras al pulsar el botón", pero ese es un problema de compilación. ¿Es un warning o un error? Si es un error, no deberías podelro ejecutar (salvo que le des a ejecutar la última versión compilada; en tal caso, pues eso hará)
92  Programación / Programación C/C++ / Re: Intentar que me ejecute esta aplicación en: 1 Abril 2017, 12:59
Esa clase Serial se conecta al puerto en el constructor. IsConnected no hace nada, solo retorna un booleano, si está conectado o no.

Se necesita más información, como el código de la función llamada en el evento click del botón.

Citar
El problema es cuando pincho en el botón ON para poner instrucciones y pasa cosas raras.
Nada es raro en programación. ¿Qué pasa exactamente?
93  Programación / Programación C/C++ / Re: Maximo común divisor c++ en: 31 Marzo 2017, 00:12
El método para varios números es: mcd(a, mcd(b, c)). Aplicar el mcd a un número y al mcd de los otros. Y así con 3, 4 y los números que sean.
94  Programación / Programación C/C++ / Re: Ayuda para resolver el programa en: 31 Marzo 2017, 00:09
Salió cortado mi mensaje anterior :X

Código
  1. for(i=0; i < t; i=i+1){
  2.  
  3. res[i*2]= v[0]+v[2]*cos(angulo/radian);
  4. res[i*2 + 1]= v[1]+v[2]*sin(angulo/radian);
  5. angulo=angulo + alpha;
  6.  
  7. }

Y conrespecto a tu código de ahora... Donde calculas el Y, pusiste v[0] en vez de v[1].
95  Programación / Programación C/C++ / Re: Ayuda para resolver el programa en: 30 Marzo 2017, 22:48
Varios detalles...
En primer lugar, trata de ver los errores que te da el compilador, para corregir lo más básico:

Pusiste angul en evz de angulo en la línea 5.
Luego, pusiste angulo==0;. Eso no es una asignación, eso es una comparación. Una asignación es, como pusiste en los fors, 1 solo signo igual:
Código
  1. angulo = 0;
Lo mismo en la línea 8.

Luego... ¿Cómo quieres que sea la respuesta?
En primer lugar, voy a suponer que a la función le pasas un array double* ya lleno y de tamaño t*2. Presupondré también que la respuesta es {x1, y1, x2, y2,... xN, yN}. Fíjate que en el segundo for, estás sobreescribiendo el array (por tanto, deshaciendo el trbaajo dle primer for).

Tal vez quisieras algo así (con 1 for te llega):
Código
  1. for(i=0;i
96  Programación / Programación C/C++ / Re: Palindromo numerico c++ en: 29 Marzo 2017, 23:13
Código
  1. for(int i=0;i
97  Programación / Programación C/C++ / Re: Palindromo numerico c++ en: 29 Marzo 2017, 15:51
Dos detalles nada más:

Código
  1. string p(m, '0'),q="";
  2.  
  3. for(int i=0; i>p[i];
  4. pila.push(p[i]);
  5. }

En primer lugar, si vas a acceder a los caracteres de una string por su índice, tienen que existir. Así que utiliza el constructor de stirng para que ya tenga los caracteres ("m, '0'": el primer parámetro es el número de caracteres, y el segundo con qué los quieres rellenar).

Luego, pusiste p[ m ] en vez de p[ i ]
98  Programación / Programación C/C++ / Re: Puerto serie C++. Mejorar el programa. en: 27 Marzo 2017, 21:28
Pues, por eso te digo. Hazlo en C# sin eventos/handles. Luego pasarlo es casi directo.
99  Programación / Programación C/C++ / Re: Puerto serie C++. Mejorar el programa. en: 27 Marzo 2017, 21:11
Aja...
Código
  1. void obtenerRespuestaArduino()
  2. {
  3. while (true)
  4. {
  5. int n = Puerto->ReadData(lectura, 49);
  6. if (n > 0) {
  7. lectura[n + 1] = '\0';
  8. break;
  9. }
  10. Sleep(1);
  11. }
  12. }

En C++, no se ponen funciones dentro de funciones.

Y bueno, la idea de esa función es que la modifiques para que retorne la respuesta del Arduino.
Pero bueno, como veas.
100  Programación / Programación C/C++ / Re: Ayuda para resolver el programa en: 27 Marzo 2017, 21:09
Esto seria correcto para obtener las posiciones cartesianas x e y de cada vertice del poligono en un plano?

alpha = 360 / cantidad de lados del poligono
radian = 180/PI 
xc + radio*cos(angulo/radian)
yc + radio*sin(angulo/radian)
angulo = angulo+alpha

Es correcto. Y aquí es donde entra la parte de programación. Tienes que sacar N vértices, no 1. Así que tendrás que hacer esas ecuaciones N veces (bucle for).

Código
  1. angulo = angulo+alpha;
Haces eso tras cada cálculo, y calculas el siguiente, sin más. Ya lo tienes.

Como detalle, las funciones cos() y sin() son de la librería <math.h>. A parte de eso, no deberías tener más problemas.
Haz el programa, y si te encuentras con algún otro problema, coméntalo y pasa el código.

Por cierto, los códigos ponlos en las etiquetas GeSHi (al hacer el mensaje, tienes arriba para colocarlas)
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 358
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines