📄 通信作业之日历.txt
字号:
#include <stdio.h>
#include <conio.h>
#include <time.h>
/*打印菜单*/void printmenu();
/*星期*/ void xingqi();
/*纪念日*/ void jinianri();
int week(int,int,int);
int monthday[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
char menu;
do {
printmenu();
menu=getch();
printf("%c\n",menu);
switch(menu) {
case '1': xingqi(); break;
case '2': jinianri();break;
case '3': {time_t now;
now=time (NULL);
printf ("%s",ctime(&now));
}break;
case '4': printf("谢谢使用"); break;
default: printf("输入错误");
}
printf("\n");
} while(menu != '4');
return 0;
}
void printmenu()
{
printf("1:星期查询\n");
printf("2:纪念日提醒\n");
printf("3:当前时间\n");
printf("4:退出\n");
printf("输入你的选择:");
}
void xingqi()
{
int year,month,day,weekday;
char continueflag;
char *weekdaystr;
do {
printf("请输入年月日(xxxx,xx,xx):");
scanf("%d,%d,%d",&year,&month,&day);
weekday=week(year,month,day);
switch(weekday) {
case 0: weekdaystr="日"; break;
case 1: weekdaystr="一"; break;
case 2: weekdaystr="二"; break;
case 3: weekdaystr="三"; break;
case 4: weekdaystr="四"; break;
case 5: weekdaystr="五"; break;
case 6: weekdaystr="六"; break;
}
printf("%d年%d月%d日是星期%s,是否继续?(Y/N)",year,month,day,weekdaystr);
continueflag=getch();
printf("%c\n",continueflag);
} while (continueflag=='y' || continueflag=='Y');
}
void jinianri()
{
printf ("生日:十二月二十八\n");
}
int week(int y,int m,int d)
{
/*使用基姆拉尔森计算公式*/
if((m==1)||(m==2))
{
m+=12;
y--;
}
return ((d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)+1)%7;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -