#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
int naoling(int a);
char xuanze(char yy);
int dongzuo();
char ll[130]={0},lj[100]={0};
int main()
{
int a;
system("COLOR 0a");
system("title 欢迎使用由【遲、钝dè豬】设计的程序~~");
printf("*******************************************************************************");
printf("\n\n\n\t\t\t\t【 说 明 】");
printf("\n\n\n\t手机摔坏了,唯一能看到时间的就只有电脑了......");
printf("\n\n\t郁闷,又要上班,没闹钟很麻烦,设计这个小程序玩玩......");
printf("\n\n\t可惜的是不能实现自动开机,不过它的作用不仅仅局限于闹钟......");
printf("\n\n\t嘿嘿,这是值得欣慰地方,不过这个程序对于时间会有些小误差......");
printf("\n\n\t是因为执行判断命令时也会需要花费几ms,对于我的要求,觉得无所谓啦......");
printf("\n\n\t精确到分钟,最低也需要1分钟,有时间再把它精确到秒吧,哈!蛮有成就感的..");
printf("\n\n\n\t\t\t\t\t\t遲、钝dè豬 QQ:1000000002\n\n");
printf("\t\t\t\t\t\t2010年12月25日 0:11 设计\n\n");
printf("*******************************************************************************");
system("pause");
system("cls");
dongzuo();
printf("\n请输入闹铃时间(分钟):");
scanf("%d",&a);
naoling(a);
strcpy(ll,"\"");
strcat(ll,lj);
strcat(ll,"\"");
printf("【懒猪!时间到!该刷牙洗脸骑着破电动去上班啦...】\n\n\a\a\a");
system(ll); // 执行用户指定的程序、音乐或命令
puts("");
system("pause");
}
/***********************/
/*-------倒计时------*/
/***********************/
int naoling(int a)
{
time_t start,end;
int v,d=1,i=60,h=1;
a*=60;// 转化为分钟 1分钟=60秒
printf("\n【已进入倒计时闹铃!】\n\n");
start=time(NULL);// 开始记录时间并赋值给变量start
printf("距离闹铃时间还剩【%d】分钟\n\n",a/60-d);
for(;;)
{
end=time(NULL);// 结束记录时间并赋值给变量end
if((difftime(end,start))==a)// 如果开始记录的时间到结束记录的时间等于指定的时间 则跳出循环
break;
else // 否则
{
if((difftime(end,start))==i) // 如果开始记录的时间到结束记录的时间等于i=60=1分钟 则显示剩余时间
{
v=a/60-1-d;
if(h==1)// 设定h 控制每分钟只显示一次提示信息
{
printf("距离闹铃时间还剩【%d】分钟\n\n",v);
h=0;
}
}
else if((difftime(end,start))>i) // 控制每分钟都会有显示
{
h=1;
i+=60;//记录分钟
d++;//记录秒
}
}
}
}
/**************************************/
/*-------记录用户指定文件或命令------*/
/*************************************/
int dongzuo()
{
FILE *fp;
char r;
if((fp=fopen("闹铃动作.txt","w"))==NULL)
puts("无法写入动作");
else
{
fputs("请将要运行的程序或音乐的绝对路径复制到这里,覆盖这行字并保存(支持DOS命令)...",fp);
fclose(fp);
system("闹铃动作.txt");
}
if((fp=fopen("闹铃动作.txt","r"))==NULL)
puts("无法读取动作");
else
{
fscanf(fp,"%[^\n]",lj); // 为什么不写%s 而写%[^\n]是因为让fscanf()函数可以读取空格并写入文件 \n :代表空格
fclose(fp);
printf("\n\n你输入了这行路径或Dos命令:\n\n【%s】\n\n",lj);
printf("【提示:当时间到了程序会自动运行上面的程序、音乐或命令...】\n\n");
printf("确认以上的路径或Dos命令吗?(Y/N):");
r=xuanze(r);
if(r=='N'||r=='n')dongzuo();
}
}
/***********************/
/*-------判断输入------*/
/***********************/
char xuanze(char yy)
{
for(;;)
{
fflush(stdin); // 清除一个流...避免让scanf()函数失效 (这个问题让我头疼N久...)
scanf("%c",&yy);
if(yy!='y'&&yy!='n'&&yy!='Y'&&yy!='N')
{
printf("\n输入错误,请重新输入:\a");
continue;
}
else
break;
}
return yy;
}
|