Poco tempo fa mi feci questo programma in C come sveglia (molto semplice e alla veloce e senza tanti controlli tanto è solo per uso personale):
Codice: Seleziona tutto
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
#define DEFAULT_HOUR 8
#define DEFAULT_MIN 0
int main( int argc, char *argv[] )
{
struct tm *ora, *sveglia =malloc(sizeof(struct tm) );
int riferimento;
time_t tm_act;
switch( argc ){
case 1: //Caso in cui non vengono immessi argomenti ora di default 8.00.
sveglia->tm_hour= DEFAULT_HOUR;
sveglia->tm_min= DEFAULT_MIN;
break;
default:
sveglia->tm_hour= atoi( argv[1] );
sveglia->tm_min =atoi( argv[2] );
break;
}
tm_act =time(NULL);
ora =localtime( &tm_act );
riferimento =ora->tm_min;
printf( "\n\n*** Ora attuale: %d:%d:00 ***\n", ora->tm_hour, ora->tm_min );
printf( "\n*** Sveglia alle: %d:%d:00 ***\n", sveglia->tm_hour, sveglia->tm_min );
while( ora->tm_hour != sveglia->tm_hour || ora->tm_min != sveglia->tm_min ){
tm_act =time(NULL);
ora =localtime( &tm_act );
if(ora->tm_min == riferimento+30){
printf( "\n\n*** Ora attuale: %d:%d:00 ***\n", ora->tm_hour, ora->tm_min );
printf( "\n*** Sveglia alle: %d:%d:00 ***\n", sveglia->tm_hour, sveglia->tm_min );
riferimento =ora->tm_min;
}
}
printf( "\nE' l'ora!\n" );
system( "suona.sh" );
return 0;
}