久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3940|回復: 0
打印 上一主題 下一主題
收起左側

C語言作品 定時小工具(修正雙引號問題)

[復制鏈接]
跳轉到指定樓層
樓主
ID:71922 發表于 2015-1-11 01:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
升級版 -> 定時小工具


再程序提示輸入文件路徑時輸入:Love 夢想 可以得到源代碼
升級版程序下載地址:定時小工具


舊版源代碼
===================================================
===================================================
  1.    首次采用彈窗~~~~
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. #include <windows.h>
  5. #include <time.h>
  6. #include <unistd.h>
  7. int nl(int a),nll(int a); // 【nl(int a)】 Sleep方式函數 【nll(int a)】 time_t方式函數
  8. char xuanze(char yy);  // 判斷輸入選擇函數
  9. int dongzuo(),jilu(),fs(); //【dongzuo()】 讀取用戶指定運行動作函數 【jilu()】記錄文件函數  【fs()】選擇計時方式函數
  10. char ll[130]={0},lj[100]={0},file[]="鬧鈴動作.txt",kk[]="請將要運行的程序或音樂的絕對路徑復制到這里,覆蓋這行字并保存(支持DOS命令)...";
  11. int main()
  12. {
  13.    
  14.     system("COLOR 0a");
  15.     system("title 歡迎使用由【遲、鈍dè豬】設計的程序~~");
  16.     printf("*******************************************************************************");
  17. printf("\n\n\t\t\t\t【 說 明 】");
  18. printf("\n\n\t可惜的是不能實現自動開機,不過它的作用不僅僅局限于鬧鐘......");
  19. printf("\n\n\t嘿嘿,這是值得欣慰地方,提供兩種記時方式,以減少時間誤差......");
  20. printf("\n\n\t【Sleep】記時方式是讓程序暫停運行,暫停時間由用戶指定的時間......");
  21. printf("\n\n\t【time_t】方式記時方式是讓程序不斷讀取時間差是否等于用戶指定的時間...");
  22. printf("\n\n\t精確到分鐘,最低也需要1分鐘,有時間再把它精確到秒吧,O(∩_∩)O~.......");
  23. printf("\n\n\t最后感謝【藍雨森林】QQ:000000......");
  24. printf("\n\n\t解決了讓我郁悶了很久的重復使用scanf()函數無法中斷程序等待用戶輸入問題..");
  25. printf("\n\n\t\t\t\t\t\t遲、鈍dè豬  QQ:0000000000\n\n");
  26. printf("\t\t\t\t\t\t2010年12月25日 0:11  設計\n\n");
  27.     printf("*******************************************************************************");
  28. system("pause");
  29. system("cls");
  30. printf("\n\n\a【請注意彈出的對話框,有可能會隱藏在程序界面的背后...】");
  31. jilu();// 判斷、讀取記錄文件函數
  32. dongzuo(); // 調用記錄用戶指定函數
  33. fs(); // 計時方式選擇函數
  34.     }
  35.    
  36. /*********************************/
  37. /*-------【計時方式選擇】------*/
  38. /********************************/   
  39. int fs()
  40. {
  41. int a;
  42. if((MessageBox(0,"【Y】Sleep 方式記時  [無倒計時提示,誤差較小]\n\n【N】time_t方式記時 [有倒計時提示,誤差較大]","選擇記時方式",MB_YESNO))==6)
  43. {
  44. system("title 歡迎使用由【遲、鈍dè豬】設計的程序~~【Sleep方式記時】");
  45. printf("\n請輸入鬧鈴時間(分鐘):");
  46.    scanf("%d",&a);
  47. nl(a);
  48. }
  49. else
  50. {
  51. system("title 歡迎使用由【遲、鈍dè豬】設計的程序~~【time_t方式記時】");
  52. printf("\n請輸入鬧鈴時間(分鐘):");
  53.    scanf("%d",&a);
  54. nll(a);
  55. }
  56. strcpy(ll,"\"");
  57. strcat(ll,lj);
  58. strcat(ll,"\"");
  59. printf("【懶豬!時間到!該刷牙洗臉騎著破電動去上班啦...】\n\n\a\a\a");
  60. system(ll); // 執行用戶指定的程序、音樂或命令
  61. system("pause');
  62. exit(0);
  63. }

  64. /*********************************/
  65. /*-------【Sleep方式記時】------*/
  66. /********************************/   
  67. int nl(int a)
  68. {
  69. a*=60000; // 將毫秒轉換為分鐘
  70. printf("\n【已進入倒計時鬧鈴!】\n\n");
  71.     Sleep(a); // 中斷程序,等待用戶指定的時間后返回主函數
  72.     }
  73.      
  74. /**********************************/
  75. /*-------【time_t方式記時】------*/
  76. /*********************************/   
  77. int nll(int a)
  78. {
  79.     time_t start,end;
  80.     int v,d=1,i=60,h=1;   
  81.    a*=60;// 轉化為分鐘 1分鐘=60秒
  82.    printf("\n【已進入倒計時鬧鈴!】\n\n");
  83.     start=time(NULL);// 開始記錄時間并賦值給變量start
  84.     printf("距離鬧鈴時間還剩【%d】分鐘\n\n",a/60-d);
  85.     for(;;)
  86.         {
  87.            end=time(NULL);// 結束記錄時間并賦值給變量end
  88.     if((difftime(end,start))==a)// 如果開始記錄的時間到結束記錄的時間等于指定的時間 則跳出循環
  89.     break;
  90.      else  // 否則
  91.      {
  92.         if((difftime(end,start))==i) // 如果開始記錄的時間到結束記錄的時間等于i=60=1分鐘 則顯示剩余時間
  93.         {   
  94.             v=a/60-1-d;  
  95.         if(h==1)// 設定h 控制每分鐘只顯示一次提示信息
  96.         {
  97.                 printf("距離鬧鈴時間還剩【%d】分鐘\n\n",v);
  98.                 h=0;
  99.                 }
  100.         }
  101.         else if((difftime(end,start))>i) // 控制每分鐘都會有顯示  
  102.         {
  103.             h=1;  
  104.         i+=60;//記錄分鐘
  105.         d++;//記錄秒
  106.         }      
  107.      }   
  108. }
  109.     }
  110. /**************************************/
  111. /*-------記錄用戶指定文件或命令------*/
  112. /*************************************/   
  113. int dongzuo()
  114. {
  115.     FILE *fp;
  116.     char r;
  117.   if((fp=fopen(file,"w"))==NULL)
  118.     MessageBox(0,"無法寫入動作文件","提示",MB_OK);
  119.     else
  120.     {
  121.         fputs(kk,fp);
  122.         fclose(fp);
  123.         system(file);   
  124.            }
  125.    
  126.     if((fp=fopen(file,"r"))==NULL)
  127.     puts("無法讀取動作");
  128.     else
  129.     {
  130.        fscanf(fp,"%[^\n]",lj); // 不寫%s 而寫%[^\n]是因為讓fscanf()函數可以讀取空格并寫入文件 \n :代表空格
  131.        fclose(fp);
  132.        if((strcmp(lj,kk))==0)
  133.        {
  134.    MessageBox(0,"程序未檢測到你輸入了程序、音樂的絕對路徑或DOS命令","注意",MB_OK);
  135.    dongzuo();
  136.    }
  137.        printf("\n\n你輸入了這行路徑或Dos命令:\n\n【%s】\n\n",lj);
  138.        printf("【提示:當時間到了程序會自動運行上面的程序、音樂或命令...】\n\n");
  139.        printf("確認以上的路徑或Dos命令嗎?(Y/N):");
  140.        r=xuanze(r);
  141.        if(r=='N'||r=='n')dongzuo();
  142.      if((MessageBox(0,"是否保存此記錄以供下次使用?","提示",MB_YESNO))==6)
  143.       MessageBox(0,"如果需要更改運行的程序、音樂或命令,可以刪除本目錄下的【鬧鈴動作.txt】\n\n或直接更改里面程序、音樂的絕對路徑或命令......","提示",MB_OK);
  144.       else
  145.       unlink(file);
  146.       
  147. }  
  148. }

  149. /***********************/
  150. /*-------判斷輸入------*/
  151. /***********************/
  152. char xuanze(char yy)
  153. {
  154.     for(;;)
  155.      {
  156.         
  157.      scanf("%c",&yy);
  158.      fflush(stdin); // 清除一個流...避免重復使用scanf()函數是無法中斷程序等待用戶輸入  (這個問題讓我頭疼N久...)
  159.      if(yy!='y'&&yy!='n'&&yy!='Y'&&yy!='N')
  160.      {
  161.      printf("\n輸入錯誤,請重新輸入:\a");
  162.      continue;
  163.      }
  164.      else
  165.      break;
  166.      }
  167.      return yy;
  168.     }
  169.   /***********************/
  170. /*-------歷史記錄------*/
  171. /***********************/
  172. int jilu()
  173. {
  174. FILE *fp;
  175. if((fp=fopen(file,"r"))==NULL);
  176. else
  177. {
  178.   printf("\n\n\t發現記錄文件,正在讀取記錄文件...");
  179.        fscanf(fp,"%[^\n]",lj); // 為什么不寫%s 而寫%[^\n]是因為讓fscanf()函數可以讀取空格并寫入文件 \n :代表空格
  180.        fclose(fp);
  181.        printf("\n\n路徑或Dos命令為:\n\n【%s】\n\n",lj);
  182.        printf("【提示:當時間到了程序會自動運行上面的程序、音樂或命令...】\n\n");
  183.     fs();
  184.     }

  185. }
復制代碼




下載程序: dsxgj-v1.0.zip (14.93 KB, 下載次數: 6)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www.狠狠干| 黑人精品欧美一区二区蜜桃 | 宅女噜噜66国产精品观看免费 | 黄色一级片在线播放 | 亚洲精品一区在线 | 成年人精品视频在线观看 | 青春草在线 | 国产成人精品一区二区三区在线观看 | h小视频| 日韩在线电影 | 欧美日本一区 | 国产激情一区二区三区 | 中文字幕在线观看一区 | 91av久久久| 成人av播放 | 久久国产精品久久久久 | 成人免费网站www网站高清 | 欧美日韩看片 | 人操人免费视频 | 国产激情91久久精品导航 | 91在线色视频 | 极品销魂美女一区二区 | 超碰美女在线 | 一级做受毛片免费大片 | 国产在线对白 | 亚洲一级二级三级 | 欧美福利| 国产精品不卡视频 | 91精品国产91 | 国产中文字幕av | 国产一区二区精品在线 | 久久一级免费视频 | 日韩中文字幕视频 | 一区视频 | 中文字幕亚洲精品 | 老司机免费视频 | 日日操操 | 成人av片在线观看 | 日韩精品亚洲专区在线观看 | 电影91久久久 | 黄色网址免费看 |