Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Pasar esto a una Funcion

Estas en el tema de Pasar esto a una Funcion en el foro de C/C++ en Foros del Web. Disculpen necesito ayuda tengo el siguiente codigo el cual si funciona Código: #include <stdio.h> #include <stdlib.h> #include <time.h> int main( void ) { int segundos=0,min,hor; ...
  #1 (permalink)  
Antiguo 05/06/2011, 00:30
 
Fecha de Ingreso: abril-2010
Mensajes: 14
Antigüedad: 14 años
Puntos: 0
Pasar esto a una Funcion

Disculpen necesito ayuda tengo el siguiente codigo el cual si funciona
Código:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
	
int main( void )
{
	int segundos=0,min,hor;

	time_t *actualPtr, alarma;
	struct tm *alarmaPtr;
	printf( "Introduzca las horas en el futuro para la alarma: " );
	scanf( "%d", &hor );
	
	printf( "Introduzca los min en el futuro para la alarma: " );
	scanf( "%d", &min );

	printf( "Introduzca los segundos en el futuro para la alarma: " );
	scanf( "%d", &segundos );
	
	*actualPtr = time( NULL );
	alarmaPtr = localtime( actualPtr );
	alarmaPtr->tm_hour = 0;
	alarmaPtr->tm_min = 0;
	alarmaPtr->tm_sec = 0;
	
	alarmaPtr->tm_hour += hor;
	alarmaPtr->tm_min += min;
	alarmaPtr->tm_sec += segundos;
	alarma = mktime( alarmaPtr );
	
	printf( "La hora local: %s\n", ctime(actualPtr) );
	printf("La hora de alarma es: %s\n", asctime(alarmaPtr) );
	
	while( difftime( alarma, *actualPtr ) > 0 ){
		system("cls ");
		*actualPtr = time( NULL );
		printf( "La hora local: %s\n", ctime(actualPtr) );
	}
	printf( "ALARMA!!!\n\n" );
	printf( "La hora local: %s\n", ctime(actualPtr) );
	system("pause");
	return 0;
}
Pero necesito pasarlo a una función, pero no se porque el programa se traba al tratar de hacerlo muchas gracias espero me ayuden
Código:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void Hora();
	
int main( void )
{
	Hora();
	system("pause");
	return 0;
}

void Hora()
{
int segundos=0,min,hor;

	time_t *actualPtr, alarma;
	struct tm *alarmaPtr;
	printf( "Introduzca las horas en el futuro para la alarma: " );
	scanf( "%d", &hor );
	
	printf( "Introduzca los min en el futuro para la alarma: " );
	scanf( "%d", &min );

	printf( "Introduzca los segundos en el futuro para la alarma: " );
	scanf( "%d", &segundos );
	
	*actualPtr = time( NULL );
	alarmaPtr = localtime( actualPtr );
	alarmaPtr->tm_hour = 0;
	alarmaPtr->tm_min = 0;
	alarmaPtr->tm_sec = 0;
	
	alarmaPtr->tm_hour += hor;
	alarmaPtr->tm_min += min;
	alarmaPtr->tm_sec += segundos;
	alarma = mktime( alarmaPtr );
	
	printf( "La hora local: %s\n", ctime(actualPtr) );
	printf("La hora de alarma es: %s\n", asctime(alarmaPtr) );
	
	while( difftime( alarma, *actualPtr ) > 0 ){
		system("cls ");
		*actualPtr = time( NULL );
		printf( "La hora local: %s\n", ctime(actualPtr) );
	}
	printf( "ALARMA!!!\n\n" );
	printf( "La hora local: %s\n", ctime(actualPtr) );
}
  #2 (permalink)  
Antiguo 05/06/2011, 22:13
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: Pasar esto a una Funcion

Veo tu código y debes de comentar la siguiente parte para que funcione correctamente.

Código C++:
Ver original
  1. alarmaPtr->tm_hour = 0;
  2. alarmaPtr->tm_min = 0;
  3. alarmaPtr->tm_sec = 0;

ya que no estas dando una hora en el futuro, sino sólo la reseteas.

Última edición por CapacProg; 05/06/2011 a las 22:14 Razón: semantica

Etiquetas: funcion, pasar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:41.