Para obtener la diferencia (en segundos) de dos fechas puedes utilizar la función difftime, esta requiere dos argumentos de tipo time_t, el primero es la fecha actual y la obtienes mediante una llamada a la función time.
La segunda fecha la introduce el usuario, aquí puedes obtener directamente los valores de dia, mes y año para una estructura tipo "struct tm" y a partir de esta obtener uno de tipo time_t con mktime. Mas o menos así:
Un saludo
La segunda fecha la introduce el usuario, aquí puedes obtener directamente los valores de dia, mes y año para una estructura tipo "struct tm" y a partir de esta obtener uno de tipo time_t con mktime. Mas o menos así:
Código (c) [Seleccionar]
struct tm d = {0};
time_t b;
puts("Introduce la fecha (aaaa mm dd):");
if (scanf("%d %d %d", &d.tm_year, &d.tm_mon, &d.tm_mday) != 3)
return EXIT_FAILURE;
d.tm_year -= 1900; /* 0 == 1900, 100 == 2000, etc. */
d.tm_mon--; /* 0 == Enero, 1 == Febrero, etc. */
/* Validacion de los campos tm_year, tm_mon y tm_mday */
b = mktime(&d);
/* ... */
Un saludo