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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


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

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Problema con la hora (lenguaje C)
« en: 7 Mayo 2015, 17:34 pm »

Buenas, tengo un par de dudas referentes a la hora en C:

Deseo realizar un programa que me solicite la fecha y hora en este formato (07/05/2015:17:45) es decir, 1º dia, 2º mes, 3º año y por ultimo la hora. Lo que debe hacer el programa es lo siguiente: Si la fecha introducida es anterior a la actual (ej: 07/05/2013:17:45) debe saltar un aviso de fecha anterior a la actual. Si se introduce una posterior el programa deberá calcularme el tiempo (en dias)  que falta para dicha fecha.

Gracias y un saludo.


En línea

do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: Problema con la hora (lenguaje C)
« Respuesta #1 en: 7 Mayo 2015, 18:12 pm »

¡Buenas!

Busca alguna referencia del lenguaje C y mira las funciones que tienes en time.h, no te hace falta más.

¡Saludos!


En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
santos96

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Problema con la hora (lenguaje C)
« Respuesta #2 en: 7 Mayo 2015, 20:59 pm »

Hola compi!

Ya lo he hecho, pero el problema es que la hora que tomo del ordenador para comparar si es menor que la introducida y sino restarla, me la guarda en un string y no se como seguir a partir de ahi.

Gracias!
En línea

тαптяα


Desconectado Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: Problema con la hora (lenguaje C)
« Respuesta #3 en: 7 Mayo 2015, 22:42 pm »

/*
 * time.c
 *
 * Copyright 2015
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301, USA.
 *
 *
 */
#include <stdio.h>
#include <time.h>

int main( void )
{
   long int i=0;
   time_t comienzo, final;
   struct tm *tiempoComienzoPtr, *tiempoFinalPtr;

   comienzo = time( NULL );
   for( i=0; i<10000; i++ )   printf( "-" );
   final = time( NULL );

   printf( "Comienzo: %u s\n", comienzo );
   printf( "Final: %u s\n", final );
   printf( "Número de segundos transcurridos desde el comienzo del programa: %f s\n", difftime(final, comienzo) );

   tiempoComienzoPtr = gmtime( &amp;comienzo );
   tiempoFinalPtr = gmtime( &amp;final );
   printf( "Comienzo: %s\n", asctime(tiempoComienzoPtr) );
   printf( "Final: %s\n", asctime(tiempoFinalPtr) );

   return 0;
}


Es el codigo de ejemplo de la pagina C con clase sobre la librería time.h
En línea

santos96

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Problema con la hora (lenguaje C)
« Respuesta #4 en: 8 Mayo 2015, 00:44 am »

Gracias!!

Ahora el unico problema que tengo es el siguiente, por ejemplo:

int dia, mes, año, hora, minuto;
char fecha [10]  = "04/05/2015:11:15";

Como hago para guardar el día, mes, año, hora y minutos en las variables tipo int declaradas?
La funcion atoi no me valdria porque al llegar a la ' / ' daria error.
En línea

тαптяα


Desconectado Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: Problema con la hora (lenguaje C)
« Respuesta #5 en: 9 Mayo 2015, 12:35 pm »

Gracias!!

Ahora el unico problema que tengo es el siguiente, por ejemplo:

int dia, mes, año, hora, minuto;
char fecha [10]  = "04/05/2015:11:15";

Como hago para guardar el día, mes, año, hora y minutos en las variables tipo int declaradas?
La funcion atoi no me valdria porque al llegar a la ' / ' daria error.

Separa la cadena, cuando encuentre un '/' y vas guardando cada separación en una variable.

Y los datos de esas variables podrás modificarlos a tu gusto

Saludos
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Problema con la hora (lenguaje C)
« Respuesta #6 en: 9 Mayo 2015, 17:30 pm »

Ahora el unico problema que tengo es el siguiente, por ejemplo:

int dia, mes, año, hora, minuto;
char fecha [10]  = "04/05/2015:11:15";

Como hago para guardar el día, mes, año, hora y minutos en las variables tipo int declaradas?
La funcion atoi no me valdria porque al llegar a la ' / ' daria error.
En tu ejemplo no debes indicar el numero de elementos del array "fecha" ya que la literal "04/05/2015:11:15" tiene un tamaño mayor.

Para extraer los valores de la cadena puedes utilizar sscanf, un ejemplo basado en el tuyo es:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int main(void)
  6. {
  7.   char fecha []  = "04/05/2015:11:15";
  8.   struct tm d;
  9.   int rv;
  10.  
  11.   rv = sscanf(fecha, "%d/%d/%d:%d:%d",
  12.      &d.tm_mday, &d.tm_mon, &d.tm_year, &d.tm_min, &d.tm_sec);
  13.  
  14.   if (rv == 5)
  15.      printf("%04d/%02d/%02d\n", d.tm_year, d.tm_mon, d.tm_mday);
  16.  
  17.   return EXIT_SUCCESS;
  18. }

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema a la hora de instalar un juego.
Juegos y Consolas
‭lipman 0 1,419 Último mensaje 22 Noviembre 2006, 17:54 pm
por ‭lipman
Problema de Fecha y Hora en ASP.NET
.NET (C#, VB.NET, ASP)
jacj0102 2 3,945 Último mensaje 4 Agosto 2011, 06:51 am
por jacj0102
MessageBox , problema a la hora de mostralo. « 1 2 »
Programación C/C++
piluve 11 4,765 Último mensaje 18 Enero 2014, 20:17 pm
por x64core
El precio de la RAM dejará de ser un problema a la hora de montar un PC
Noticias
wolfbcn 0 873 Último mensaje 6 Junio 2019, 21:45 pm
por wolfbcn
Problema a la hora de descargar un pdf
PHP
yoelrodguez 4 2,630 Último mensaje 4 Abril 2023, 00:12 am
por yoelrodguez
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines