First commit 20/03/1997
This commit is contained in:
61
CHORA.CPP
Normal file
61
CHORA.CPP
Normal file
@ -0,0 +1,61 @@
|
||||
#include <stdio.h>
|
||||
|
||||
struct V
|
||||
{
|
||||
int HorasMedicion[6];
|
||||
};
|
||||
|
||||
struct C
|
||||
{
|
||||
struct V VProductos;
|
||||
|
||||
} Config = { { 8, 12, 16, 20, 24, 4 } };
|
||||
char TablaHoraria[24];
|
||||
|
||||
void ConstruyeTablaHoraria(void);
|
||||
|
||||
void main(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for ( i=0; i < 20; i++ )
|
||||
printf ( "\n" );
|
||||
|
||||
ConstruyeTablaHoraria();
|
||||
|
||||
printf ( "0: %02d:00 >-< %02d:00 \n", Config.VProductos.HorasMedicion[0], Config.VProductos.HorasMedicion[1] );
|
||||
printf ( "1: %02d:00 >-< %02d:00 \n", Config.VProductos.HorasMedicion[1], Config.VProductos.HorasMedicion[2] );
|
||||
printf ( "2: %02d:00 >-< %02d:00 \n", Config.VProductos.HorasMedicion[2], Config.VProductos.HorasMedicion[3] );
|
||||
printf ( "3: %02d:00 >-< %02d:00 \n", Config.VProductos.HorasMedicion[3], Config.VProductos.HorasMedicion[4] );
|
||||
printf ( "4: %02d:00 >-< %02d:00 \n", Config.VProductos.HorasMedicion[4], Config.VProductos.HorasMedicion[5] );
|
||||
printf ( "5: %02d:00 >-< %02d:00 \n", Config.VProductos.HorasMedicion[5], Config.VProductos.HorasMedicion[0] );
|
||||
|
||||
printf ( "\n" );
|
||||
for ( i = 0; i < 12; i++ )
|
||||
{
|
||||
printf( " %02d >-> %d %02d >-> %d \n", i, TablaHoraria[i], i+12, TablaHoraria[i+12] );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void ConstruyeTablaHoraria(void)
|
||||
{
|
||||
int i, j, k;
|
||||
|
||||
// Revisamos las 24 horas posibles: 00 - 1 - 2 - ... - 22 - 23
|
||||
for ( i = 0; i < 24; i ++ )
|
||||
// Por cada hora verificamos el rango donde pueda estar ( 0 - 5 )
|
||||
for ( j = 0; j < 6; j ++ )
|
||||
{
|
||||
for ( k = ( Config.VProductos.HorasMedicion[j] % 24); k != (Config.VProductos.HorasMedicion[(j+1)%6]%24); k = (++k)%24 )
|
||||
{
|
||||
if ( i == k )
|
||||
{
|
||||
TablaHoraria[i] = j;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( k != (Config.VProductos.HorasMedicion[(j+1)%6]%24) )
|
||||
break;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user