elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Problema con reloj
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con reloj  (Leído 84 veces)
MiguelSanchez1703

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Problema con reloj
« en: 19 Marzo 2017, 20:25 »

Código
  1. #include <iostream>
  2. #include <thread>
  3. #include <chrono>
  4.  
  5. #ifdef _WIN32
  6. #define CLEAR "cls"
  7. #else
  8. #define CLEAR "clear"
  9. #endif
  10.  
  11. using namespace std;
  12. using namespace this_thread;
  13. using namespace chrono;
  14.  
  15. void verTiempoActual ();
  16.  
  17. int main () {
  18.        verTiempoActual();
  19.  
  20.        return 0;
  21. }
  22.  
  23. void verTiempoActual () {
  24. char Decision;
  25. system (CLEAR);
  26. cout << "VER EL TIEMPO Y LA FECHA ACTUALES" << endl;
  27. cout << "--- -- ------ - -- ----- --------" << endl;
  28. system_clock::time_point Actual = system_clock::now();
  29. time_t mostrarTiempo;
  30. mostrarTiempo = system_clock::to_time_t (Actual);
  31. cout << "Ahora estamos en: " << ctime(&mostrarTiempo) << endl;
  32. cout << "\nPonga 'B' para ir al menu o 'E' para salir: ";
  33. sleep_for (seconds(1));
  34. verTiempoActual();
  35. cin >> Decision;
  36. if (Decision == 'B' or Decision == 'b') {
  37. main();
  38. }else if (Decision == 'E' or Decision == 'e') {
  39. Salir();
  40. }else{
  41. cout << "Ponga una opcion valida" << endl;
  42. }
  43. }

Hola, en esta parte del codigo, no se como hacer para poder introducir una b o una e mientras el codigo sigue su curso, es decir, mientras el codigo va añadiendo un segundo a la hora, poder introducirle una orden, Gracias


« Última modificación: 19 Marzo 2017, 20:37 por MiguelSanchez1703 » En línea

ivancea96


Conectado Conectado

Mensajes: 2.905


ASMático


Ver Perfil WWW
Re: Problema con reloj
« Respuesta #1 en: 19 Marzo 2017, 21:07 »

Cuando tratas de leer entrada por la consola, el código se detiene a esperarla.

Tendrías que utilizar threads. Pero no te recomiendo ponerte con eso ahí (no vale la pena ese trabajo por el reloj). Yo de ti, trataba de evadir ese problema como puedas y proseguir.

La respuesta corta: no es algo "trivial".

Y como detalle, eso de llamar al main desde una función (o desde el propio main, vaya), deberías evitarlo. Puedes hacerlo, pero no es lo ideal.


En línea

MAFUS


Desconectado Desconectado

Mensajes: 687



Ver Perfil
Re: Problema con reloj
« Respuesta #2 en: 19 Marzo 2017, 22:46 »

Bajo Linux utiliza el termios. Pones en terminal en modo no canónigo y sin esperas. Entonces un getchar no bloquea el terminal, no sé si funciona para cin.
Si usas windows ni idea.
En línea

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con el reloj de WinXP
Windows
Nezyz 8 1,300 Último mensaje 14 Septiembre 2008, 08:21
por Nezyz
problema con el reloj de mi pc
Hardware
alvaropl 8 3,514 Último mensaje 17 Diciembre 2008, 19:37
por alvaropl
Problema con el reloj de mi pC
Dudas Generales
sambigote 2 3,221 Último mensaje 4 Septiembre 2010, 18:28
por JuanRaGD
Problema reloj en un label
.NET
_CrisiS_ 2 1,146 Último mensaje 8 Diciembre 2010, 21:02
por _CrisiS_
Ayuda con problema de reloj en java!
Java
robertoht 2 1,068 Último mensaje 19 Junio 2015, 00:14
por robertoht
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines