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

[SOLUCIONADO] Sleep()

Estas en el tema de Sleep() en el foro de C/C++ en Foros del Web. Tengo este problema. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C++: Ver original switch ( op ) {         case '+' :         ...
  #1 (permalink)  
Antiguo 23/10/2014, 11:06
 
Fecha de Ingreso: septiembre-2014
Mensajes: 66
Antigüedad: 9 años, 7 meses
Puntos: 1
Sleep()

Tengo este problema.
Código C++:
Ver original
  1. switch(op){
  2.         case '+':
  3.             resultado = v1+v2;
  4.             cout << v1 << " + " << v2 << "  =  "<< resultado;
  5.             Sleep(5*1000);
  6.             break;
  7.         case '-':
  8.             resultado = v1+v2;
  9.             cout << v1 << " - " << v2 << "  =  "<< resultado;
  10.             break;
  11.         case '/':
  12.             resultado = v1+v2;
  13.             cout << v1 << " / " << v2 << "  =  "<< resultado;
  14.             break;
  15.         case '*':
  16.             resultado = v1+v2;
  17.             cout << v1 << " x " << v2 << "  =  "<< resultado;
  18.             break;
  19.         case '^':
  20.             resultado = v1+v2;
  21.             cout << v1 << " ^ " << v2 << "  =  "<< resultado;
  22.             break;
  23.            
  24.         default:
  25.             cout << "invalid operator wachin";
  26.             return 0;
  27.     }

si uso el operador +, la funcion Sleep() parece ejecutarse antes del cout, y sin embargo el cout esta antes que la funcion Sleep(), no me muestra el resultado hasta despues de 5 segundos justo cuando la consola se cierra, que es lo que pasa?
  #2 (permalink)  
Antiguo 23/10/2014, 17:38
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: Sleep()

A mi me funciona perfecto:
Código C++:
Ver original
  1. #include <iostream>
  2. #include <windows.h>
  3. using namespace std;
  4.  
  5. int main () {
  6.  
  7.     int v1 = 10;
  8.     int v2 = 20;
  9.     int resultado;
  10.    
  11.     char op = '+';
  12.    
  13.     switch ( op ) {
  14.         case '+':
  15.             resultado = v1 + v2;
  16.             cout << v1 << " + " << v2 << "  =  " << resultado;
  17.             Sleep ( 5 * 1000 );
  18.            
  19.             break;
  20.            
  21.         case '-':
  22.             resultado = v1 + v2;
  23.             cout << v1 << " - " << v2 << "  =  " << resultado;
  24.             break;
  25.            
  26.         case '/':
  27.             resultado = v1 + v2;
  28.             cout << v1 << " / " << v2 << "  =  " << resultado;
  29.             break;
  30.            
  31.         case '*':
  32.             resultado = v1 + v2;
  33.             cout << v1 << " x " << v2 << "  =  " << resultado;
  34.             break;
  35.            
  36.         case '^':
  37.             resultado = v1 + v2;
  38.             cout << v1 << " ^ " << v2 << "  =  " << resultado;
  39.             break;
  40.            
  41.         default:
  42.             cout << "invalid operator wachin";
  43.             return 0;
  44.     }
  45.    
  46.     cout << "\nbaybay" << endl;
  47.     return 0;
  48. }
  #3 (permalink)  
Antiguo 23/10/2014, 20:30
 
Fecha de Ingreso: septiembre-2014
Mensajes: 66
Antigüedad: 9 años, 7 meses
Puntos: 1
Respuesta: Sleep()

¿Puede ser un error de netbeans?, por alguna razón no puedo compilar en cmd, por eso uso netbeans.
  #4 (permalink)  
Antiguo 24/10/2014, 01:10
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: Sleep()

cout no "pinta" nada en la ventana. Se limita a escribir en el buffer de salida. Para forzar que el contenido del buffer se vuelque a la pantalla es necesario "forzarlo" de alguna manera.

Una forma de forzarlo es pasarle "std::endl".
  #5 (permalink)  
Antiguo 24/10/2014, 07:13
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: Sleep()

pues a lo mejor es el netbeans. No te puedo decir por que a mi me funciono tal cual lo ves.
Pero tu haz lo que te dijo eferion que es un maquina XDD
  #6 (permalink)  
Antiguo 24/10/2014, 10:44
 
Fecha de Ingreso: septiembre-2014
Mensajes: 66
Antigüedad: 9 años, 7 meses
Puntos: 1
Respuesta: Sleep()

Cita:
Iniciado por eferion Ver Mensaje
cout no "pinta" nada en la ventana. Se limita a escribir en el buffer de salida. Para forzar que el contenido del buffer se vuelque a la pantalla es necesario "forzarlo" de alguna manera.

Una forma de forzarlo es pasarle "std::endl".
Muchas gracias.

Etiquetas: funcion
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 22:37.