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 - do-while

#271
Te has dejado grandes perlas como médica y jueza que a base de que todo el mundo utilizase mal las palabras médico y juez también las incluyeron (y no se si habrán incluido alguna otra perla de esas que las muy burras de las feminazis se empeñan en utilizar).

¡Saludos!
#272
Foro Libre / Re: Kebab
2 Junio 2015, 17:44 PM
Eso es una delicia para el paladar (con bien de salsa picante).

Hay veces que he tenido tanta hambre que incluso me he comprado un durum de primer plato y otro durum de segundo plato. XD

Lo que nunca he llegado a entender es el tema de los precios. Si uno de cordero cuesta 4€ y uno de ternera 4'5€ ¿porqué el mixto cuesta 4'75€ en lugar de 4'25€?

¡Saludos!

   
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
#273
Cita de: Peregring-lk en 27 Mayo 2015, 21:10 PM
Eso no es cierto. Un operador o una función se hacen friend[/i] cuando:


  • El operador o función debe ser externo a la clase por la cuestión que sea.
  • El operador o función, además, necesita acceder a los datos privados de la clase.

Y no por el sencillo hecho de ser "un operador cuyo operando más a la izquierda no es un miembro de la clase". Un operador se podría hacer externo a la clase, "cuyo operando más a la izquierda ES un miembro de la clase", sencillamente para permitir conversiones implícitas.

A ver si aprendemos a leer. He dicho que si el operador mas a la izquierda no es un objeto de la clase (y evidentemente el operador tiene que acceder a los miembros privados, como el mismo está intentando hacer (no hace falta tener muchas luces para darse cuenta)) entonces tiene que declararlo como friend y un operador miembro "puro", no friend, exige que su operando mas a la izquierda sea un objeto de la clase. Y esto, lo mires como lo mires, es cierto siempre. Otra cosa es que haya más casos en los que un operador/funcion se pueda declarar friend, o que pueda aceptar como primer operando un objeto de la clase, pero lo que he dicho es completamente cierto.

Primero lee, luego entiende y cuando hayas hecho todo lo anterior reflexiona antes de opinar sobre lo que ha dicho otra persona, sobre todo si pretendes desacreditarla, no vaya a ser que acabes pillándote los dedos.

¡Saludos!
#274
¡Buenas!

Para sobrecargar operadores cuyo operando mas a la izquierda no es un miembro de la clase tienes que declararlos como friend, no como miembros de la clase, ya que en este ultimo caso se espera que el operando mas a la izquierda sea del tipo de la clase.

¡Saludos!
#275
Sauron ya no es el que era, ha perdido bastante:

http://www.queface.es/lo-que-sauron-necesitaba/

¡Saludos!
#276
¡Buenas!

El fallo está aquí:

if(strcmp(nombreBusqueda, arregloPersonas[i].nombre))


strcmp te devuelve el "orden alfabético" del primer argumento con respecto al segundo. Si el primero es alfabéticamente menor te devolverá un valor negativo, si es mayor positivo y si son iguales te devolverá cero. Tienes que poner un operador de negación ! antes de strcmp para que la condición sea cierta solo si la función te devuelve una condición falsa (0).

¡Saludos!
#277
No se donde estará el problema.

Se que para compilar con C++ 11 había (¿todavía hay?) que añadir opciones en la pestaña settings, si haces un #include <stdlib.h> y aún así te dice que no encuentra malloc y free es posible que tengas que indicarle al IDE donde está la librería estandar de C (supongo que también es settings y lo mismo con SDL. De todas formas supongo que en la página oficial del proyecto de dirán como configurar codeblocks (o algún otro IDE) para utilizarlo con SDL.

Aqui te dejo las opciones de compilador que tiene mi CodeBlocks sobre Ubuntu 14.04: http://imgur.com/yOF2Fp4

Si tienes la misa versión deberías tener la misma configuración (si esto es falso corregidme). Igual es una idiotez lo que te voy a decir ahora, pero asegurate de que tienes instalado gcc. Si has instalado CodeBlocks desde los repositorios supongo que lo instalará (al menos está en su sección de paquetes recomendados), y si en lugar de utilizar los repositorios te lo has descargado desde otro lado supongo que te tocará instalar gcc a mano (si no lo tienes instalado ya, claro está).

Sobre lo de la SDL, si nadie dice nada, te va a tocar googlear o acudir a la página oficial a ver que te cuentan.

¡Saludos!
#278
¡Buenas!

Busca alguna referencia del lenguaje C y mira las funciones que tienes en time.h, no te hace falta más.

¡Saludos!
#279
¡Buenas!

Sin ver el código completo no se que es lo que estará pasando exactamente, pero bueno, ahí van posibles errores que pueden suceder:

Por lo que se vé en el último código que has dejado la variable aux es un puntero al que asignas memoria dinamicamente. No sé si al hacerlo has comprobado que el puntero devuelto no sea nulo. Si hubiese algún error en la asignación y te devuelve NULL, a la hora de intentar leer datos de la cadena estarías leyendo "basura" que se guardaría en las variables que pasas a sscanf. La lectura se podría estar haciendo incluso desde una "cadena" que no tuviese un '\0' al final, por lo que se podría estar sobrepasando los límites de las variables y posiblemente sobreescribiendo el valor de la variable tipo.

Algo parecido podría pasar si, aún habiendo podido asignar bien la memoria, al escribir el contenido en aux no pones un '\0' al final de esta, o si alguna de las palabras que contiene aux sobrepasa la longitud de las variables que pasas a sscanf.

Si mal no recuerdo, las variables en C ocupan posiciones consecutivas, por lo tanto si tienes dos cadenas, una de ellas de 3 caracteres y otra de 5 (por poner un ejemplo) te puedes encontrar con errores al sobrepasar los límites. Un ejemple si lees desde la entrada la palabra "Hola" y la guardas en la primera cadena, esta almacenara "Hol" y pasaría a la segunda, quedando esta con los caracteres que quedan por leer: {'a','\0'}. Y si por ejemplo la segunda cadena fuese un puntero los caracteres {'a','\0'} serían dos bytes seguidos que harían que el puntero apuntase a una dirección extraña (perdiendo, si lo hubiese, el contenido que tuvieses asignado dinamicamente).

Sin ver más código no puedo decirte cual es error exacto, pero puede ser alguna de las cosas mencionadas, suelen ser errores lógicos que no saltan a la hora de compilar pero que cuando ejecutas el programa dan resultados "locos" difíciles de detectar.

¡Saludos!

Se me ha olvidado mencionarlo pero es un despiste común (nos pasa a todos) olvidarnos de vez en cuando de dejar sitio para el carácter de fin de cadena, aunque sepas que el tamaño de los datos sea el correcto (porque los introduces tu y sabes que no vas a sobrepasar ningún límite o porque el formato sea fijo y sepas exactamente cuanto va a ocupar una cadena). Aunque supongo que ya lo habrás hecho, asegurate de que IPP tiene el valor correcto para almacenar todos los datos que quieras.

¡Saludos de nuevo!
#280
¡Buenas!

También puedes ahorrarte unos cuantos ciclos si en lugar de repasar todos los números entre uno y otro imprimes los que son múltimplos del primer número y los números que se encuentran entre 1 y el cociente de ambos:

5,7: cociente = 1 -> muntiplos: 5

4, 13: cociente = 3 -> multplos 4,8,12

13,4: cociente = 0 -> no hay múltiplos

...

¡Saludos!