#include "stdio。h" /* Required for MS-DOS use */
#define ENTER 0x1C0D /* Enter key */
int year, month, day;
static char *days[8] = {" ","Sunday ","Monday ","Tuesday ",
"Wednesday","Thursday ","Friday ","Saturday "};
struct TIMEDATE {
int year; /* year 1980。
。2099 */
int month; /* month 1=Jan 2=Feb, etc。 */
int day; /* day of month 0。
。31 */
int hours; /* hour 0。。23 */
int minutes; /* minute 0。
。59 */
int seconds; /* second 0。。59 */
int hsecs; /* 1/100ths of second 0。
。99 */
char dateline[47]; /* date & time together */
};
static struct TIMEDATE today;
main()
{
char cmonth[3];
char cday[3];
char cyear[5];
double getdays();
double daynumb, numbnow;
int weekday, retcode, dayer, i;
dayer = datetime(&today);
clrscn();
for (i=0;i 0)
printf("
d-d-%d was",month, day, year);
if (numbnow - daynumb 13。
5) month = e - 13。0;
else month = e - 1。0;
if (month > 2) year = c - 4716。0;
else year = c - 4715。
0;
if (year 28000。0) dd = dd - 28000。0;
while (dd 32767) numb -= 32767;
inumb = numb;
fnumb = inumb;
return(numb-fnumb);
} /* end FRACT */
/********************************************************
* FLOOR - This routine takes a double float number *
* and returns the next smallest integer *
********************************************************/
double floor(numb)
double numb;
{
double fract(), intg();
double out;
out = intg(numb);
if (numb < 0 && fract(numb) != 0) out -= 1。
0;
return(out);
} /* end FLOOR */
/********************************************************
* INTG - This routine takes a double float number *
* and returns the integer part as a double *
* float number *
********************************************************/
double intg(numb)
double numb;
{
double fract();
return(numb - fract(numb));
} /* end INTG */。
全部