Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Black Lotus en 5 Marzo 2013, 03:30 am



Título: Problema con el uso de la libreria time
Publicado por: Black Lotus en 5 Marzo 2013, 03:30 am
Tengo un Ejercicio el cual es el siguiente:
*Haga un programa que le de la bienvenida de acuerdo a la hora del sistema. Debe de hacer la validación de rangos considerando hasta los minutos.*

Mi código es el siguiente, lo único que me falta y que no se hacer es lo siguiente: Debe de hacer la validación de rangos considerando hasta los minutos.... me ayudarían a decirme como se hace esa validación?
Código
  1. #include <iostream>
  2. #include <conio>
  3. #include <time>
  4.  
  5. void  main() {
  6.    char nya[60];
  7.  
  8.    time_t t = time(0);
  9.    struct tm * now = localtime( & t );
  10.    cout << (now->tm_hour ) << ':'
  11.         << (now->tm_min) << ':'
  12.         <<  now->tm_sec
  13.         << endl;
  14.  
  15.    cout << "Ingrese su Nombre y Apellido: ";
  16.    cin.getline(nya,60);
  17.  
  18. if ((now->tm_hour > 12) && (now->tm_hour<18))
  19.     cout << "Buenas tardes: " << nya;
  20.    else
  21.     if (now->tm_hour > 0 && now->tm_hour < 12)
  22. cout << "Buenos Dias"<<"\xA1"<<"as: " << nya;
  23.         else
  24.         cout << "Buenas Noches: " << nya;
  25.  
  26. getch();
  27. }
  28.  


Título: Re: Problema con el uso de la libreria time
Publicado por: 85 en 5 Marzo 2013, 04:26 am
por ejemplo, algo así pseudocódigamente hablando

Citar
if (  HORA == 11:30 )

con lo cual tenés que validar la hora y los minutos... eso necesitás?

aparte los rangos son de 0 a 60 minutos? o qué rangos estás hablando?


Título: Re: Problema con el uso de la libreria time
Publicado por: Puntoinfinito en 5 Marzo 2013, 08:31 am
Yo trabajé con otra libreria de tiempo local y tal, y lo devolvía todo en segundos, no se si este es el caso.


Título: Re: Problema con el uso de la libreria time
Publicado por: leosansan en 6 Marzo 2013, 00:02 am
..................................................

aparte los rangos son de 0 a 60 minutos? o qué rangos estás hablando?


Tal como tiene el código las 12:030 no se corresponde ni con el primer caso (>12) ni con el segundo (<12 ), por lo que le faltaría considerar los " = " y los minutos:

Código
  1. #include <iostream>
  2. #include <ctime>
  3. using namespace std;
  4.  
  5.  
  6. int  main() {
  7.    char nya[60];
  8.  
  9.    time_t t = time(0);
  10.    struct tm * now = localtime( & t );
  11.    cout << (now->tm_hour ) << ':'
  12.         << (now->tm_min) << ':'
  13.         <<  now->tm_sec
  14.         << endl;
  15.  
  16.    cout << "Ingrese su Nombre y Apellido: ";
  17.    cin.getline(nya,60);
  18.  
  19. if ((now->tm_hour >= 12 && now->tm_min>=0 ) && (now->tm_hour<=17 && now->tm_min<60))
  20.     cout << "Buenas tardes: " << nya;
  21.    else
  22.     if (now->tm_hour >= 0 && now->tm_min>=0 && now->tm_hour <= 11 && now->tm_min<60)
  23. cout << "Buenos D"<<"\xA1"<<"as: " << nya;
  24.         else
  25.         cout << "Buenas Noches: " << nya;
  26. cin.get();
  27. return 0;
  28. }
  29.  

Saluditos!, ....(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)


Título: Re: Problema con el uso de la libreria time
Publicado por: Black Lotus en 7 Marzo 2013, 17:48 pm
Gracias
Citar

Saluditos!, ....(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)