• Viernes 15 de Noviembre de 2024, 02:26

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

Páginas: [1]
1
C/C++ / Re: CTRL+D
« en: Jueves 26 de Noviembre de 2009, 15:15 »
Buenas, probando y probando el programa me dado cuenta de que si lo hago tras haber hecho ya cosas me sale del programa perfectamente. Pero si lo hago siendo mi primera opción, lo primero que hago tras ejecutar el programa, me da un fallo de segmentación y la verdad es que no se por qué. Dado que la opción la recojo con un scanf, me planteo el hecho de que poner un getline y que eso pueda solucionar el error, puesto que el scanf es muy "especialito".

2
C/C++ / Re: scanf
« en: Viernes 20 de Noviembre de 2009, 19:38 »
humm ya veo, ese array es susceptible de ser cambiado por un puntero a char para no especificar el tamaño a priori? se que nadie es tan cabron de poner mas de 80 caracteres cuando se pida un numero pero tengo que cubrir todos los casos posibles

3
C/C++ / scanf
« en: Viernes 20 de Noviembre de 2009, 11:28 »
buenas.
busco la manera de leer por teclado un numero con lo que he dicidido usar un scanf que recoja un entero, pero logicamente, cuando el programa recibe algo que no sea un numero, se vuelve loco. a partir de aqui se me ocurren dos soluciones:
1. seguir con un a=scanf("d", option),  y controlar lo que recibe con un if(a!=o), el tema esta en el scanf cuando no lee un entero no se lo traga por lo que cuando vuelva a pasar por ahi mi scanf mantendra lo que le haya pasado, sin dejar avanzar al programa. la solucion a eso imagino que es ponerle delante algo que limpie lo que hay en el scanf, como un fflush, pero si existe tal funcion no la conozco.

2. poner un scanf que reciba un string y luego mirar si lo que hay en mi string es un entero o no, pero no se hacer esa comparacion.

¿Que veis mas factible o mas facil?
Gracias

4
C/C++ / Re: CTRL+D
« en: Viernes 20 de Noviembre de 2009, 11:21 »
vale ya lo dscubri (bueno, me lo dijeron). resulta que EOF lee y se queda en la ultima posicion, por lo que cuando vuelvo al while tras haber leido el último punto aun no se ha salido por lo que vuelve a entrar en el while. el tema esta en que se sale tras volver a leer despues de haber leido el ultimo punto, con lo que le pongo un if(!feof(f)) despues de leer la primera coordenada y ya esta.
no se si me he explicado muy bien.
muchas gracias eternal idol

5
C/C++ / Re: CTRL+D
« en: Jueves 19 de Noviembre de 2009, 12:21 »
vale, ya lo entendi, era tan facil como ejecutar el menu con un while(!feof(stdin)); no entendia al principio lo que querias decir. un millon de gracias.
ya que estoy te pregunto otra dudilla que me pasa.
guardo una serie de puntos (con sus 3 coordenadas y tal) en un fichero, me los guarda con una opcion y me los "carga" con otra, pero por alguna razon me imprime un punto de mas con todas las coordenadas a 0, y no se porque es. es algo asi:
while(!feof(f)){
  new=(point*)malloc...
  fread de las coordenadas
}

¿por que me pasa? no te pongo el codigo mas detallado porque creo que es un tema del feof. he probado a borrar el ultimo punto pero por alguna razon me ignora y (sin darme error), me sigue imprimiendo un pnto con todo a 0.

6
C/C++ / Re: CTRL+D
« en: Miércoles 18 de Noviembre de 2009, 11:26 »
hummm no te sigo. quiero decir, según he leído, la funcion feof me devuelve 0 si estoy al final del archivo.
pero mi programa ni siquiera tiene por que contener un archivo. mi programa se ejecuta en el terminal y por defecto se cierra con CTRL+C, pero tengo que conseguir que lo haga con CTRL+D. no me entero de la relacion entre el feof y lo que busco.

7
C/C++ / Re: CTRL+D
« en: Martes 17 de Noviembre de 2009, 17:40 »
para Linux, pero mi comando se ejecuta mediante linea de comandos, y muestra un menu (sin aplicacion grafica) y cada vez que termina de hacer la operacion seleccionada en el menu, vuelve al menu. el tema es que el programa termine cuando el usuario le de a CTRL+D

8
C/C++ / CTRL+D
« en: Martes 17 de Noviembre de 2009, 16:21 »
buenas, ¿alguien sabe cómo hago para que mi programa, en continua ejecución, se cierre cuando el usuario pulsa CTRL+D? gracias

Páginas: [1]