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

MUY URGENTE!!!! Cerrar programa hecho en C con Ctrl+Z

Estas en el tema de MUY URGENTE!!!! Cerrar programa hecho en C con Ctrl+Z en el foro de C/C++ en Foros del Web. El problema que tengo esque quiero que al pulsar Ctrl+Z me salga del bucle y me devuelva el promedio en este caso, tengo entendido que ...
  #1 (permalink)  
Antiguo 27/09/2009, 08:36
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
MUY URGENTE!!!! Cerrar programa hecho en C con Ctrl+Z

El problema que tengo esque quiero que al pulsar Ctrl+Z me salga del bucle y me devuelva el promedio en este caso, tengo entendido que es con EOF (End Of File) pero no consigo que salga, actualmente sale con -1, aqui os dejo el codigo espero que me podais ayudar es bastante urgente:

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

int main(int argc, char *argv[])
{
int contar=0;
int suma=0;
int num=0;
int prom=0;
int a;


do{
printf("Introduce numeros del 1 al 5\n");
scanf("%d", &num);



while (num!=-1){
if(num>0 && num<6){
contar++;
suma=suma+num;




}else{
printf("Numero incorrecto. Debes introducir un numero entre 1 y 5");
}
scanf("%d", &num);
}

prom=suma/contar;
printf("El promedio de los numeros introducidos es: %d\n",prom);
printf("Quieres hacer una nueva operacion pulsa 1 para reiniciar o 2 para cerrar: \n",a);
scanf("%d",&a);
}

while(a==1);
printf("FIN\n");








system("PAUSE");
return EXIT_SUCCESS;
}
  #2 (permalink)  
Antiguo 27/09/2009, 11:38
 
Fecha de Ingreso: septiembre-2009
Mensajes: 56
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: MUY URGENTE!!!! Cerrar programa hecho en C con Ctrl+Z

una solución podría ser:

Código c:
Ver original
  1. char cad[50] = "no salir";
  2.  
  3. while(true){
  4.    scanf("%s",cad);
  5.    if(strcmp(cad,"salir")==0){
  6.       break;
  7.    }else{
  8.       num = atoi(cad);
  9.       if(num>0 && num<6){
  10.          contar++;
  11.          suma=suma+num;
  12.       }
  13.    }
  14. }

Lo que se hizo ahí fue pedirle al usario una cadena de caracteres, si el usuario ingresa "salir" ahí terminará el while, si no es porque ingresó un número, entonces se pasa de cadena a número con la función atoi.

Puede ser una solución, porque me parece difícil con ctrl+z porque para eso hay que usar el getch(), que no es estandar.

Saludos.
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:53.