Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda puntual. Ejecutar aplicación cierto número de veces.

Estas en el tema de Duda puntual. Ejecutar aplicación cierto número de veces. en el foro de C/C++ en Foros del Web. Buenas tardes! Tengo una pequeña duda que necesito resolver cuanto antes pero no consigo encontrar la solución. He hecho una pequeña aplicación que hace una ...
  #1 (permalink)  
Antiguo 13/06/2011, 11:20
 
Fecha de Ingreso: febrero-2009
Mensajes: 24
Antigüedad: 15 años, 2 meses
Puntos: 0
Duda puntual. Ejecutar aplicación cierto número de veces.

Buenas tardes!
Tengo una pequeña duda que necesito resolver cuanto antes pero no consigo encontrar la solución. He hecho una pequeña aplicación que hace una simple tarea: le llega un por la entrada estándar una cadena, calcula su tamaño y lo muestra por pantalla. Pues bien, me gustaría que el programa se ejecutase hasta que le dejen de llegar cadenas pero no se como expresarlo. Había pensado en un do...while pero no se que condición de parada poner. Tiene que ser cuando le dejen de llegar datos.
Espero vuestra ayuda. Muchísimas gracias de antemano.

Un saludo.
  #2 (permalink)  
Antiguo 13/06/2011, 11:46
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: Duda puntual. Ejecutar aplicación cierto número de veces.

Puedes hacer que cuando llege una determinada cadena como por ejemplo una cadena vacia o con el formato que desees detenga las lecturas, es decir dale una cadena que tu sepas que cuando se lea se debe de parar el bucle. Eso es lo que se llama una condición de fin.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #3 (permalink)  
Antiguo 13/06/2011, 11:53
 
Fecha de Ingreso: febrero-2009
Mensajes: 24
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Duda puntual. Ejecutar aplicación cierto número de veces.

Gracias por la rápida respuesta.
Lo que pasa es que no se qué datos me van a enviar y no puedo pedirle que inserte una palabra ("fin", por ejemplo) para que se detenga.
Unas veces se ejecutará 3 veces, otras más, otras menos... Confiaba en que hubiese una instrucción que sirviese para esto, la verdad jeje.
Había pensado también en un cronómetro, en plan que si en 5 segundos no llegan datos, se detenga, pero eso sería demasiado para lo que en realidad hace el programa.
  #4 (permalink)  
Antiguo 13/06/2011, 15:26
 
Fecha de Ingreso: marzo-2011
Mensajes: 54
Antigüedad: 13 años, 1 mes
Puntos: 11
Respuesta: Duda puntual. Ejecutar aplicación cierto número de veces.

puedes hacerlo asi:
Código C++:
Ver original
  1. while(cin >> a){
  2.  
  3. }
donde a es el char donde guardas los datos
  #5 (permalink)  
Antiguo 13/06/2011, 19:23
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Duda puntual. Ejecutar aplicación cierto número de veces.

Un programa no puede saber cuando se van a dejar de pasar datos. Simplemente hay que determinar, como han dicho, un caracter o una secuencia que indique el fin....podrias usar el \0 que indica el fin de cadena....

No se como lees los datos que se te van pasando por la entrada...pero pudes usar fgets y fijarte si termina en \n o \0
  #6 (permalink)  
Antiguo 13/06/2011, 20:22
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Respuesta: Duda puntual. Ejecutar aplicación cierto número de veces.

Cita:
Iniciado por CapacProg Ver Mensaje
Puedes hacer que cuando llege una determinada cadena como por ejemplo una cadena vacia o con el formato que desees detenga las lecturas, es decir dale una cadena que tu sepas que cuando se lea se debe de parar el bucle. Eso es lo que se llama una condición de fin.
Condicion con centinela, quieres decir :P

Por cierto... quieres hacerlo en C o en C++?

Saludos!

Etiquetas: veces
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:46.