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

Ciclo infinito ... Hasta precionar una tecla

Estas en el tema de Ciclo infinito ... Hasta precionar una tecla en el foro de C/C++ en Foros del Web. Hola ke tall... quiero hacer un programa en c estandar, sobre linux que este realizando modificaciones en un archivo de texto indefinidamente en un ciclo ...
  #1 (permalink)  
Antiguo 08/11/2007, 17:35
Avatar de Fhenix666  
Fecha de Ingreso: septiembre-2007
Mensajes: 17
Antigüedad: 16 años, 7 meses
Puntos: 0
Busqueda Ciclo infinito ... Hasta precionar una tecla

Hola ke tall...

quiero hacer un programa en c estandar, sobre linux que este realizando modificaciones en un archivo de texto indefinidamente en un ciclo infinito hasta ke yo presione una tecla.

El procedimiento es el siguiente:

tengo dos archivos: Arch01 Arch02... en los que escribiré datos (tomemos 0s y 1s como ejemplo) en dos columnas la columna 1 es el dato y la 2 es "código de error". los mismos datos en el otro archivo.

en si son 4 operaciones que se estaran repitiendo indefinidamente. y entre cada operacion debe poderse generar la interrupcion............el paro del ciclo al precionar una tecla...

............posible Interrupción.
1. grabar en el archivo 1 el dato. (columna 1)
............posible Interrupción.
2. grabar en el archivo 1 el código de error. (columna 2)
............posible Interrupción.
3. grabar en el archivo 2 el dato. (columna 1)
............posible Interrupción.
4. grabar en el archivo 2 el código de error. (Columna 2)
............posible Interrupción.


no se como hacer un ciclo infinito ,,, que este circulando hasta que pecione una tecla el usuario...AYUDA

Última edición por Fhenix666; 08/11/2007 a las 17:44
  #2 (permalink)  
Antiguo 08/11/2007, 18:29
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años
Puntos: 9
Re: Ciclo infinito ... Hasta precionar una tecla

Yo lo haría de la siguiente forma:

#define TRUE 1
#define FALSE 0

...

char caracter;

printf ( "Va a comenzar un proceso. Desea continuar? S - N: " ) ;
scanf ( "%s", &caracter );

while ( TRUE )
{
if ( caracter == 'N' )
{
break;
}
else
{
printf ( "Se ejecutaria la instruccion 1\n" );
}

printf ( "Desea continuar con el proceso iniciado? S - N: " );
scanf ( "%s", &caracter );

if ( caracter == 'N' )
{
break;
}
else
{
printf ( "Se ejecutaria la instruccion 2\n" );
}

printf ( "Desea continuar con el proceso iniciado? S - N: " );
scanf ("%s", &caracter );

}

Espero que te sirva. Saludos!.
__________________
Add, never Remove

Última edición por mariano_donati; 08/11/2007 a las 18:31 Razón: cambiar unas líneas del código
  #3 (permalink)  
Antiguo 08/11/2007, 20:31
Avatar de Fhenix666  
Fecha de Ingreso: septiembre-2007
Mensajes: 17
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Ciclo infinito ... Hasta precionar una tecla

Mil gracias por el aporte,, es buenoooo....

pero la idea es que no evalué por medio de preguntas,,,,
estoy tratando de hacerlo con procesos hijos... ke un proceso hijo aga las operaciones mientras el padre espera .... a que preciones una tecla perooo creooo ke no me ayuda mucho estooo... por que sigo sin lograr que se siga haciendo las operaciones solitas....

necesito una rutina que este indefinidamente ciclada... hata ke precione una tecla... no ete pregunte si deseo continuar............ es decir el usuario solo interactua para detener el proceso con un solo entreeeeerrr o otra tecla.
  #4 (permalink)  
Antiguo 08/11/2007, 22:00
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años
Puntos: 9
Re: Ciclo infinito ... Hasta precionar una tecla

Ahora estoy entendiendo un poco más. No sirve de mucho el código que te deje. Dejame pensarlo un rato, soy novato en esto de C, pero me interesa el desafío que propone lograr hacer eso. Después te digo a ver que salió.
__________________
Add, never Remove
  #5 (permalink)  
Antiguo 08/11/2007, 23:51
Avatar de Fhenix666  
Fecha de Ingreso: septiembre-2007
Mensajes: 17
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Ciclo infinito ... Hasta precionar una tecla

Que biennn...mariano_donati...

No pude con los procesos hijossss....

miraaa logre estoooo pero aun mo me gusta como keda...Manejando Señalesss

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

int car = 0;

void manejo(int a)
{
/////////////////////pero esto no me funciona como kierooo
---- car = getchar();
---- printf("car %d",car);
---- if(car == 1)
---- {
-------- printf("\nFin del Programa...");
---------- car=1;
---------}
----- else
----- car=0;

//////////////////si dejo solo
//car=1;
////////////si funciona se salee y yaaaaaaa pero kiero tener la opcion de decidir si me salgo o continuo.........

}

int main(void)
{
----- int l = 0;
----- signal(SIGINT, manejo);

----- while( car != 1 )
----- {

----- printf("%d.\n", l);
----- ++l;
----- l = (l + 1) % 60000;
----- }
}
  #6 (permalink)  
Antiguo 09/11/2007, 08:58
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Re: Ciclo infinito ... Hasta precionar una tecla

Varias cosillas:

POSIX no es parte del estándar de C.
Tienes una etiqueta CODE para poner código.
¿Por qué escribes arrastrando la última letra de cada palabra?
  #7 (permalink)  
Antiguo 09/11/2007, 09:28
Avatar de m4xp0wer  
Fecha de Ingreso: septiembre-2007
Mensajes: 66
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Ciclo infinito ... Hasta precionar una tecla

El tema sería que el proceso hijo fuera el que escribe en el fichero. Lo que podías hacer es que el padre simplemente cree el hijo y espere un enter. Al recibir el enter, envíe una señal de usuario (SIGUSR1 por ejemplo) al proceso hijo. La rutina debería ser algo de este estilo
void rsSIGUSR1()
{fin=1;}
y la comprobación en el bucle de escritura while (!fin)
  #8 (permalink)  
Antiguo 09/11/2007, 16:55
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Re: Ciclo infinito ... Hasta precionar una tecla

Cita:
Iniciado por MaxExtreme Ver Mensaje
...
¿Por qué escribes arrastrando la última letra de cada palabra?
Es que no leíste bien el post
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #9 (permalink)  
Antiguo 10/11/2007, 06:04
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Re: Ciclo infinito ... Hasta precionar una tecla

Cita:
Iniciado por erick_arcini Ver Mensaje
Es que no leíste bien el post
Touché ;)
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 13:04.