📄 program.h
字号:
#include "define.h"
void Init()
{
int i;
T.YEAR=2008;
T.MONTH =12;
T.DAY =31;
T.HOUR =23;
T.MINUTE=59;
T.SECOND=55;
Print();
for(i=1;i<=N;i++)
{
printf("设定第%d次闹钟时间:\n",i);
scanf("%d",&C[i].YEAR);
scanf("%d",&C[i].MONTH);
scanf("%d",&C[i].DAY);
scanf("%d",&C[i].HOUR);
scanf("%d",&C[i].MINUTE);
scanf("%d",&C[i].SECOND);
C[i].FLAG=WAIT;
C[i].NUMBER=i+1;
}
}
void Print()
{
printf("假定当前时间是%d年%d月%d日%d时%d分%d秒\n",T.YEAR,T.MONTH,T.DAY,T.HOUR,T.MINUTE,T.SECOND);
}
void Begin()
{
printf("输入1产生中断,输入0无中断\n");
}
void Stop()//产生中断
{
T.SECOND++;
if(T.SECOND>=60)
{
T.MINUTE=T.MINUTE+T.SECOND/60;
T.SECOND=T.SECOND%60;
if(T.MINUTE>=60)
{
T.MINUTE=T.MINUTE%60;
T.HOUR=T.HOUR+T.MINUTE/60;
}
if(T.HOUR>=24)
{
T.HOUR=T.HOUR%24;
T.DAY=T.DAY+T.HOUR/24;
}
switch(T.MONTH)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(T.DAY>=31)
{
T.MONTH=T.MONTH+T.DAY/31;
T.DAY=T.DAY%30;
}
break;
case 4:
case 6:
case 9:
case 11:
if(T.DAY>=30)
{
T.MONTH=T.MONTH+T.DAY/30;
T.DAY=T.DAY%29;
}
break;
case 2:
if((T.YEAR%4==0&&T.YEAR%400!=0)||(T.YEAR%400==0))
{
if(T.DAY>=29)
{
T.MONTH=T.MONTH+T.DAY/29;
T.DAY=T.DAY%28;
}
}
else
{
if(T.DAY>=28)
{
T.MONTH=T.MONTH+T.DAY/28;
T.DAY=T.DAY%27;
}
}
break;
default:printf("系统时间错误!程序非法结束\n");
exit(0);
}
if(T.MONTH>=12)
{
T.YEAR=T.YEAR+T.MONTH/12;
T.MONTH=T.MONTH%12;
}
}
}
void Clock()//是否有闹钟时间到
{
int i;
for(i=1;i<=N;i++)
{
if(T.MINUTE==C[i].MINUTE&&T.SECOND==C[i].SECOND&&C[i].FLAG==WAIT)
{
printf("闹钟%d时间到!\n",C[i].NUMBER);
C[i].FLAG=FINISH;
NUM--;
}
else
continue;
}
}
void Over()//所有闹钟时间都到了,程序结束
{
printf("所有闹钟已结束!\n");
printf("程序结束!\n");
exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -