万年历程序设计c语言代码.doc
文本预览下载声明
这是当时我做的一个小小的课题,希望对你有所帮助
#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;i3;++i)cmonth[i]=\0;
for (i=0;i3;++i)cday[i]=\0;
for (i=0;i5;++i)cyear[i]=\0;
putstr(5,8,14,Enter date in MM DD YYYY format:);
while (retcode != ENTER)
{
retcode = bufinp(5,41,13,2,cmonth);
if (retcode != ENTER) retcode = bufinp(5,44,13,2,cday);
if (retcode != ENTER) retcode = bufinp(5,47,13,4,cyear);
}
year = atoi(cyear);
month = atoi(cmonth);
day = atoi(cday);
daynumb = getdays(year, month, day);
numbnow = getdays(today.year, today.month, today.day);
weekday = weekdays(daynumb);
if (numbnow - daynumb == 0)
printf(\n\n%02d-%02d-%d is,month, day, year);
if (numbnow - daynumb 0)
printf(\n\n%02d-%02d-%d was,month, day, year);
if (numbnow - daynumb 0)
printf(\n\n%02d-%02d-%d will be,month, day, year);
printf( a %s\n,days[weekday]);
} /* end MAIN */
/************************************************************
* GETDAYS - From integer values of year (YYYY), month *
显示全部