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

#991
¡Buenas!

Yo tambien soy fumador, y simplemente queria dejar constancia de la gran decepcion que me he llevado por la aprobacion de esta ley.

Si tanto piensan en mi salud, que me paguen los antigripales, antipireticos, jarabes para los esputos y demas potingues que me hagan falta por tener que fumar en la calle a 5 grados bajo cero durante todo el invierno (puede salir a un catarro cada 10 dias o asi...). A mi que no me digas que esta ley es por cuestiones de salud...

Como bien se ha dicho, que se aprobechen las zonas habilitadas para fumadores en lugar de prohibirlas. Para radicalismos absolutos, ya estan los comunismos y las dictaduras...

¡Saludos!
#992
Foro Libre / Re: Cifras y Letras
28 Octubre 2010, 02:49 AM
Bueano, pues ahi va una de numeros...

10 5 1 20 8 2 2

Y el numero 736

¡Suerte!
#993
Programación C/C++ / Re: funcion scanf ayuda!
27 Octubre 2010, 16:57 PM
¡Buenas!

scanf no tiene porque leer bien los datos que le pides.

prueba el siguiente bucle:

do{

    printf("Introduce un numero (cero para salir): ");

    scanf("%d",&opcion);

}while(opcion!=0);


Ahora escribe "hola" o cualquier cadena. El bucle se "volvera loco". Aqui encontraras informacion sobre scanf. Aprobecha que devuelve el numero de parametros leidos para saber si se ha podido leer lo que quieres. Y si no lo consigues, sabiendo que el input termina con '\n', lee caracteres (getchar()) hasta que encuentres dicho caracter para vaciar el bufer de entrada. Si consiguieses leer los datos correctamente, tambien tendiras que usar por ejemplo getchar() para sacar de stdin el caracter '\n' que queda...

¡Saludos!
#994
¡Buenas!

Lo primero, quita el goto. Eso no es programacion estructurada y te va crear mas problemas que soluciones.

Para lo de las teclas, aprende a pensar y a investigar. En conio.h (que no te recomiendo utilizarla ya que solo viene con compiladores borland) tienes dos funciones con las que puedes investigar, que es lo que yo hice en su dia. La primera kbhit, y la segunda getch. Una de ellas te sirve para saber si se ha pulsado alguna tecla y la otra para capturar teclas directamente. Luego puedes mirar el ascii de la tecla presionada y asi posteriormente, cuando te haga falta saber que tecla has presionado, puedes comparar el ascii de la tecla presionada con los ascii de las teclas que conozcas... busca informacion sobre las funciones de conio.h y trastea con ellas.

¡Saludos!
#995
Programación C/C++ / Re: funcion scanf ayuda!
27 Octubre 2010, 03:00 AM
¡Buenas!

El porblema con scanf, es que si quieres leer un dato, para realizar la lectura tienes que pulsar intro, y es entonces cuando la funcion lee datos. Lo que pasa es que cuando tu pulsas intro estas introduciendo un '\n' en stdin, y ese '\n', scanf no lo lee, se queda en stdin, asi que cuando realizas la siguiente lectura, tienes un caracter "inesperado" que te estorba para hacer segun que cosas.

utiliza fgets+sscanf. En las chinchetas tienes un post sobre que es lo que no hay que hacer en C. Echale un ojo y encontraras datos utiles.

¡Saludos!
#996
¡Buenas!

¡¡¡¡Olvida el goto!!!!, haz el programa utilizando programacion estructurada (estructuras de control) y luego lo vuelves a colgar.

¡Saludos!
#997
Huy...

Me parece a mi que la SGAE simplemente esta cmabiando el nombre, pero se ponga el nombre que se ponga, en seguida se les ve el plumero. Estan todos cortaos con el mismo patron.

¡Saludos!
#998
¡Buenas!

Si que he visto algun error en el primer codigo... (no he segguido leyendo porque la verdad resulta muy incomodo.

Utiliza las etiquietas GeSHi que hay despues de la primera fila de botones para escoger el lenguaje que utilizas y pega tu codigo justo entre las dos etiquetas que te salen. Asi se resaltara el codigo y sera mucho mas facil leerlo.

Otra cosa que debes hacer como bien ten han dicho, es que cada vez que tengas codigo entre dos llaves, o en un if o cualquier otra estructura, es añadir una tabulacion que dependa de eso. Asi tambien se leera mucho mas facil.

Cuando hagas eso con el codigo que has puesto podremos seguir ayudandote.

De momento puedo decirte que en el primer codigo, has asignado varias veces memoria dinamicamente a algunos de los punteros sin haberla liberado anteriormente. Esto es como todo. Lo usas, cuando no quieras usarlo lo liberas, y luego buelves a usarlo de nuevo.

Tambien estas mezclando asignacion de memoria al estilo de C y de C++, eso no debes hacerlo nunca. En C++ tiene new y delete que son mucho mas comodos de manejar que malloc y free...

Corrige lo que se te ha dicho y te indicaremos lo que puede fallar en tu codigo.

¡Saludos!
#999
Foro Libre / Re: Cifras y Letras
26 Octubre 2010, 01:42 AM
PRESTADO
#1000
Eso mismo es, como en C no hay booleanos, una expresion que vale cero es falso, y una que es distinta de cero sera verdadero.

Por lo tanto poner

for(i=0 ; s[i] ; i++)

es equivalente a poner

for(i=0 ; s[i] != 0 ; i++)


¡Saludos!

Una cosa mas, si en lugar de tomar como valor de la comparacion

ord = nom1[i] - nom2[i];

tomas

ord = (unsigned char)nom1[i] - (unsigned char)nom2[i];


Te olvidas de los problemas que te pueden dar los simbolos y siempre que una cadena sea mas larga que otra tendras un valor positivo o negativo segun sea la primera o la segunda mas larga.