#include <stdio.h>
#include <stdlib.h>
// Upakuj datę do jednej liczby w kolejności rok , miesiąc , dzień
// za pomocą przesunięć bitowych
// Otrzymasz liczbę - im większa data tym większa liczba
//
unsigned int fun( unsigned int rok , unsigned int miesiac , unsigned int dzien)
{
unsigned int temp = rok ;
temp <<= 4 ; // miejsce - 4 bity na miesiąc
temp = temp + miesiac ;
temp <<= 8 ; // 8 bitów na dzień ale wystarczy 5 ( temp <<= 5 ; )
temp = temp + dzien ;
return temp ;
}
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char **argv)
{
unsigned int moja_data = fun(1988,1,14);
if( (moja_data <= fun(2008,11,14) )&&( moja_data >= fun(1987,3,22) ) )
{
printf("Data w zakresie.\n") ;
}else{
printf("Data poza zakresem.\n") ;
}
getchar();
return 0;
}
:-)