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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  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 1,285 veces)
MiguelSanchez1703

Desconectado Desconectado

Mensajes: 7


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

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 pm por MiguelSanchez1703 » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


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

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: 1.603



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

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
al reloj
Programación Visual Basic
bautistasbr 1 1,773 Último mensaje 23 Octubre 2005, 09:06 am
por NYlOn
Problema con el reloj de mi pC
Dudas Generales
sambigote 2 4,623 Último mensaje 4 Septiembre 2010, 18:28 pm
por JuanRaGD
Problema reloj en un label
.NET (C#, VB.NET, ASP)
_CrisiS_ 2 2,404 Último mensaje 8 Diciembre 2010, 21:02 pm
por _CrisiS_
Ayuda con problema de reloj en java!
Java
robertoht 2 3,581 Último mensaje 19 Junio 2015, 00:14 am
por robertoht
Problema con "class Reloj" c++
Programación C/C++
ianmorar03 3 3,836 Último mensaje 27 Marzo 2016, 15:59 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines