Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - srWhiteSkull

#261
Creo que es sólo si lo usas en Windows, más detalle aquí:

https://stackoverflow.com/questions/4089174/printf-and-long-double?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

Un mecanismo interno impide, en Windows, que se pueda "representar" un tipo de 80bits (el long double en C99). Ya tendrías que usar alguna librería de terceros o trabajar en linux  ;D

Prueba esto y nos cuentas ...

https://software.intel.com/en-us/articles/80-bit-long-double-math-functions-from-intel-may-conflict-with-microsoft-visual-c-64-bit

https://en.wikipedia.org/wiki/List_of_numerical_libraries#C

Un hilo interesante que habla de un problema similar ...

https://cboard.cprogramming.com/c-programming/170867-128-bit-long-double-printf-not-working-2.html

Información de interés ...

https://es.wikipedia.org/wiki/Long_double_(doble_largo)
#262
El Windows 10 HOME es 64 bits (si o si). Pienso que Windows 10 HOME es una buena opción, mi experiencia con este SO la puntúo como notable .... peeeero, si estás dispuesto a pagar entre 100 euros aproximadamente (que tampoco es mucho si estás trabajando). Ahora si quieres un SO eficiente y gartuito existen buenas y confiables distribuciones de linux como la archiconocida Ubuntu o Mint (versiones de 32 bits serían suficientes).

https://www.microsoft.com/es-es/p/windows-10-home/d76qx4bznwk4/1NT3

https://www.ubuntu.com/download/desktop?

https://linuxmint.com/download.php

VS

https://www.youtube.com/watch?v=zht3LtKXUGY

https://www.youtube.com/watch?v=EIZZcX_LQ3g



#263
Oye pues no lo sabía. Acabo de abrirla y no es el Windows Maker, con el que hacía hace años pequeños montajes. Se agradece, nunca se sabe cuando lo vas a necesitar.
#264
Hombre es sólo una crítica en clave de humor, --- que por cierto, hay que puntualizar que no fueron los reyes católicos como sabrás al rey Fernando no le cuajaba la idea (ni al resto de la corte), fue la propia reina, Isabel de Castilla, quien le prestó el apoyo, que según cuenta entregó a este varias riquezas personales de esta para sufragar los gastos de la empresa ---  ;) Que gran mujer fue esta reina, gracias a ella España tuvo su momento de gloria.  
#265
Si Colón hubiera sido español posiblemente España no habría pisado las américas, posiblemente habría dicho lo mismo que los contertulianos de aquí,  :xD, que es un gasto de dinero inútil, "para qué si podemos ir bordeando la costa?" (en referencia a las Indias)  :laugh:
#266
Me da un poco de pena que la gente vea el esfuerzo de tantos físicos, científicos e ingenieros como algo inútil... y oye, que somos programadores posiblemente existan también en la NASA desarrollando complejas aplicaciones para calcular aspectos no visibles en los vuelos aeroespaciales, como sistemas autónomos robóticos o de telecomunicaciones, que posiblemente pasan desapercibidos por el público que piensa que viajar a un planeta, que está a millones de kilómetros es simplemente encender la mecha de un volador y apuntar a ojo al cielo y listo.

De esa trabajo, de la exploración e investigación espacial, se beneficia la humanidad de mil maneras. Marte es curiosamente el planeta menos hostil (menos hostil que la Luna) del sistema solar, después de la Tierra claro. Es un planeta muy parecido al nuestro, sólo que es más pequeño y posiblemente no sobrevivió a algún cataclismo, varios cráteres y dos trozos de roca que tiene por satélite una de ellas en caída, tardará muchísimo en caer pero caerá en algún momento. Marte tiene una gravedad llevadera, lo que hace que sea un buen sitio para la colonización. Dispone en algunas partes de pequeños paraguas magnéticos, muchos más pequeños que el escudo que rodea la Tierra. Tiene una delgada atmósfera por lo que facilita el acercamiento y escape. Posiblemente esconda debajo de la roca muchos secretos como el que la NASA ha descubierto sobre la emisión de metano, desconocido su origen, es estacional, existen un picos en determinadas épocas del año lo que aviva el debate de la existencia de vida o algo que este "vivo". El primer paso fue la Luna porque es el astro más cercano a nuestro planeta, y estirar un poco más la exploración significa mejorar la tecnología aeroespacial, robótica y de telecomunicaciones, ... de lo que se aprenda en ello la humanidad siempre se beneficiará, quizás primero los ricos.. que le vamos hacer :xD pero es necesario.  

También la ESA lanzará (previsto para el 2020) un cacharro similar al curiosity, no sólo es un robot, es un laboratorio con ruedas, que  viene hacer el mismo trabajo sólo que enfocado a localizar moléculas orgánicas. Como sabrán envíar algunos kilos a millones de kilómetros es una tarea que requiere mucho dinero y muchas cabezas pensantes, por eso, la carga a enviar debe ser cuidadosamente escogida, el laboratorio no puede hacer todo lo que nos gustaría que hiciera, así que se intenta hacer un diseño bastante austero que se fabricará con los mejores materiales del mundo, caros muchos de ellos, y no lo harán en el taller de Manolo, se hace en un lugar super limpio, para no contaminar la máquina y evitar que los bichitos de nuestro planeta colonicen el sistema solar antes que nosotros. Como sólo se puede hacer una vez, se requiere comprobar todo, inspeccionar hasta el último detalle, fallar no está permitido cuando las ondas de telecomunicación pueden varios minutos, incluso días o meses, ya que depende de la distancia, siempre en movimiento y la posición, los satélites orbitan y demoran tiempo en completar una vuelta. La verdad es que en las películas todo se ve muy fácil.

http://exploration.esa.int/mars/60365-red-planet-rover-set-for-extreme-environment-workout/

La noticia que anuncia la NASA, viene a decirnos que el metano junto a lo que explica Elektro, no son pruebas suficientes para demostrar la existencia de vida en el planeta pero el debate sigue abierto porque tampoco se ha podido demostrar que es debido a las actividades geológicas o del entorno. Se requiere más inversión, se requiere un equipo de "personas", geólogos, biólogos, etc.. que fueran allá y tuvieran montado un laboratorio en condiciones, así como la realización de expediciones por el interior de Marte, cuevas, pero ... no hay dinero para eso, y la tecnología existente es muy cara y no la hay... y hay entra pues, eso, hacer publicidad, promocionar el interés de Marte mediaticamente de forma exagera y un sin fin de estrategias como el turismo espacial y la introducción del sector privado, para poder conseguir todo eso que vemos en las pelis.

[youtube=640,360]https://www.youtube.com/watch?v=q-qFBpr9Ooo[/youtube]
#267
Mándalos a la *****, está claro que esos "compañeros" de clase no son aptos para trabajar como programadores, que no te hundan contigo, sigue tú camino aunque sea en solitario. Si es porque tienes que hacer un trabajo conjunto con ellos habla en privado con el profesorado y dile que el grupo con el que estás son puros inútiles, que se aprovechan de ti para que tú les salves el culo y que quieres ir en solitario o cambiar con gente más afín o al menos más dispuestas a aprender.

El trabajo de desarrollador depende como te lo montes. Normalmente se va en solitario, como "freelance", y en algunas empresas tienes un equipo formado por montón de gente que no sabe ni papa de programar pero tienen montón de ideas... pero vamos, que también te puede tocar, con tiempo y cambiando muchos trabajos, alguna empresa seria, que sepa organizarse y cuente con un equipo de verdad...
#268
Porque esa no es la forma de hacerlo. Si bloqueas el hilo principal de esa forma con un bucle infinito, lo extraño es que no te diga Windows que la aplicación se fue a la ***** y se cierre.

El Thread.Sleep es para usarlo en un hilo. Entonces eso ya te puede dar una pista de como podrías hacerlo, o bien con hilos, algo desproporcionado para la chorrada que vas hacer o usar eventos, por ejemplo con el componente Timer o similar.

https://msdn.microsoft.com/es-es/library/system.timers.timer(v=vs.110).aspx
#269
Cita de: MAFUS en  3 Junio 2018, 08:21 AM
Y cómo el puntero cambia, el que no pases por referencia un puntero (un puntero a puntero) no verás los cambios que se han hecho y además tendrás un puntero suelto porque realloc te lo ha liberado.
Buff gracias por recordármelo,

Claro, la otra opción Xargam es lo que comenta MAFUS, que en vez de retornar (con un return) el puntero o usar un puntero global, es usando el puntero a puntero, que es simplemente definir el puntero en el argumento de la función de x con dos asteriscos (**) y tratarlo en la función así (*movie)[moves] o así (*(*movie+moves)). Corrígeme MAFUS si me equivoco.
#270

...

int main()
{

   eMovie* movies = (eMovie*) malloc(sizeof(eMovie));
...

Lo que hagas aquí, se queda ahí. Lo que vengo a decirte, como el caso de otro hilo similar y reciente, es que C no es C++, y la única forma que tienes para modificar el puntero es retornando el nuevo puntero en la función x o usando un puntero global.

Cuando pasas por referencia pasa eso precisamente, que pasas por referencia, y lo único que puedes hacer con eso es modificar el contenido existente en esa dirección, pero no puedes asignar otro puntero, porque lo que tienes en la función es una copia del puntero que usa la misma referencia que le pasas. Por eso, insisto, retorna el nuevo puntero.

Acostumbra a NO hacer eso :

...
       scanf("%s", (movie + moves)->titulo);
       printf("\nDURACION: ");
       scanf("%d", &(movie + moves)->duracion);
       printf("SALIR? esc:");
...

Usa variables y luego pásalo luego al objeto. Para pasar un char[] a otro char[] usa el memcpy(). Si tienes pensado usar movie como un array, que no sería lo adecuado, úsalo como un array, no uses aritmética de punteros de esa forma. Ejemplo:

...
       scanf("%s", movie[moves].titulo);
       printf("\nDURACION: ");
       scanf("%d", &duracion);
       movie[moves].duracion=duracion;
       printf("SALIR? esc:");
...


Si vas a retornar el puntero para usarlo como te dije, no liberes el puntero antes de devolverlo (el free() ese dentro de la función x). Libera la memoria en el main o función principal.

Aquí lo mismo que te dije antes...

void y(eMovie* movie, int tam)
{
   for(int i = 0; i < tam; i++)
   {
       printf("\n\nTITULO: %s\n", (movie + i)->titulo);
       printf("DURACION: %d\n", (movie + i)->duracion);
   }
}

Usa un array.. ... verás más legible el código.

  movie[i].titulo
  movie[i].duracion


Y si no, como antes le dije al otro, si quieren trabajar con punteros de forma más flexible y segura usen C++.