|
#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;
}
|
|