Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: dgg006 en 7 Julio 2011, 01:49 am



Título: Ayuda para comentar
Publicado por: dgg006 en 7 Julio 2011, 01:49 am
Hola.
Hoy vengo con un problema que puede parecer tonto, pero soy malisimo para esto.
Tengo este codigo, pero necesito comentarlo linea por linea.
Les marco, las que no entiendo bien que hacen, quizas me puedan ayudar.
Código:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <time.h>

//************DESDE ACÁ**********************
char buffer [40];
char *times ()
{
time_t now = time (0);
struct tm *ahora;
ahora=localtime ((const time_t*)&now);
strftime (buffer, 40, "%H:%M", ahora);
return (char *) buffer;
}
//************HASTA ACÁ******************

int main ()
{
    char resul[6];
    int estado=-1;
    int infinito=0;
    int val;

    FILE *hora;
    hora = fopen ("Hora.txt","r");
    fscanf (hora, "%s",&resul);
    fclose (hora);

    FILE *valo;
    valo = fopen ("val.txt","r");
    fscanf (valo, "%d",&val);
    fclose (valo);

while (infinito == 0)
{

if (strcmp (times (),("%s", resul)) == 0)//****Y ESTA LINEA TAMBIÉN*****
{
    if (estado != 1)
        {
            printf ("Encendido");
            FILE *valor;
            valor = fopen ("valor.txt","w+");
            fprintf (valor, "%d",val);
            fclose (valor);
        }
        estado=1;
        return 0;
}
else
    {
        if (estado != 0)
        {
            printf ("Apagado");
        }
        estado=0;
}
}
    return 0;
}


Este código, hace de un estilo de temporizador, para un proyecto domotico que estoy realizando.
El pedirle que me ayuden a comentarlo tiene 2 razones.
1º Lo tengo que entregar comentado  :rolleyes:
2º Fijándome en los comentarios de demás programas y libros, es como aprendí lo poco que se, y espero que los comentarios me ayuden a entender bien que hace esa parte del código.
Se que no les gusta "hacer la tarea" de otro, pero yo solo, no logro entender lo que hace.


Desde ya, gracias!!


Título: Re: Ayuda para comentar
Publicado por: Akai en 7 Julio 2011, 01:55 am
http://cplusplus.com/reference/clibrary/ctime/

Mira en esa referencia que hace cada función y lo sabrás.

El resumen rápido es obtener la hora en formato Hora:Minuto


Título: Re: Ayuda para comentar
Publicado por: dgg006 en 7 Julio 2011, 02:01 am
Gracias por contestar tan rapido.
Ya estuve por esa pagina, trate de hacerlo solo.
Pero tengo muchas dudas, que solas no salen.
Por ejemplo.
En la linea 10 (   struct tm *ahora;) = Time Structure...¿?¿?¿?
Que es eso? el "*ahora" de donde salio??
Cosas asi, por eso, si lo veo comentado es mas facil ir viendo para que sirve cada cosa


Título: Re: Ayuda para comentar
Publicado por: leogtz en 7 Julio 2011, 09:04 am
Necesitas leer un poco sobre punteros para poder entender.