日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言 | 编写一个简单的定时关机程序

發布時間:2023/12/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 | 编写一个简单的定时关机程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1024G 嵌入式資源大放送!包括但不限于C/C++、單片機、Linux等。關注微信公眾號【嵌入式大雜燴】,回復1024,即可免費獲取!

前言

今天,我同學問我這個程序怎么做:

于是,我用C給他寫了一個類似的控制臺程序:

我的這個控制臺程序有8個小功能,分別是:

1、定時n秒后自動關機。

2、定時到x點x分提醒你是否要關機,如果你沒確認不關機,則在60s后將自動關機。

3、立即關機。

4、取消自動關機。

5、注銷計算機。

6、打開計算器。

7、打開畫圖軟件。

8、打開記事本。

在介紹各個功能之前,首先介紹一個函數:?system函數。

system函數

system是C函數庫?stdlib.h中的一個函數,用于發出一個DOS命令給系統,函數原型為:

int system (const char * command);

例如:?system("pause");?可以實現凍結屏幕。在往期筆記【C語言筆記】你的黑窗口閃退?也有介紹,歡迎閱讀。

這里的8個功能,我們都是借用這個函數來實現的,然后再添加一些處理邏輯即可。

對DOS命令有一些了解的同學可能覺得定時關機、取消關機之類的只要一行命令就可以了,干嘛要那么麻煩。的確,不實用!但是,我們是本著練習C編程的原則來做的,看似簡單的功能,做起來也會遇到很多問題的,特別注意要理清楚一些邏輯關系及一些細節。下面分析各代碼塊:

功能分析

這幾個功能中,其中功能1和功能2的實現比較麻煩一點。其他幾個功能都只是調用?system函數往發DOS命令給系統。下面看各個功能的具體實現:

1、定時n秒后自動關機

功能演示

代碼

// 菜單選擇1:定時n秒后自動關機 void choice_01(void) {int sec_count;char cmd[30];scanf("%*[^\n]");scanf("%*c"); // 清空緩沖區printf("請輸入您要定時關機的秒數:");scanf("%d", &sec_count); // 讀入定時的秒數sprintf((char*)cmd, "shutdown -s -t %d", sec_count); // cmd定時關機命令組包system(cmd); // 執行定時關機命令printf("定時開始!\n");// 輸出倒計時的秒數while (sec_count--){// 非阻塞式鍵盤監聽,輸入緩沖區非空時則退出while循環if (kbhit()) // kbhit函數包含在頭文件conio.h中,所以只適用于windows系統{break;}printf("您的電腦將在%d秒后自動關機(輸入數字4并回車可取消自動關機)\n", sec_count);Sleep(1000); // 休眠1秒system("cls"); // 清屏操作} }

2、定時到x點x分提醒你是否要關機

這個功能像我手機的自動關機的操作:

我給我的手機定時每天0點0分自動關機,關機之前先倒計時一分鐘,看你是否要真的關機,此時可以點擊立即關機,也可以取消關機。

功能演示

代碼

// 菜單選擇2:定時每天x點x分自動關機 void choice_02(void) {struct timed_time shutdown_time;char *wday[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};time_t t;struct tm *time_date;int year = 0, mon = 0, mday = 0;int hour = 0, min = 0, sec = 0;char *week = NULL;int count_down = 60;int count_down_flag = 0;scanf("%*[^\n]");scanf("%*c"); // 清空緩沖區printf("請輸入您要定時關機的時間(如23:59):");scanf("%d:%d", &shutdown_time.timed_hour, &shutdown_time.timed_min); // 讀入要定時關機的時間printf("現在是:");system("time /T"); // 輸出此刻的時間printf("您的電腦將在%.2d點%.2d分提醒您是否要關機\n", shutdown_time.timed_hour, shutdown_time.timed_min);while(1) {time(&t); // 返回1970年1月1日至今的秒數time_date = localtime(&t); // 取得當地時間并保存在time_date中year = 1900 + time_date->tm_year; // 年(本程序中暫未用到)mon = 1 + time_date->tm_mon; // 月(本程序中暫未用到) mday = time_date->tm_mday; // 日(本程序中暫未用到)week = wday[time_date->tm_wday]; // 星期(本程序中暫未用到)hour = time_date->tm_hour; // 時(用到)min = time_date->tm_min; // 分(用到)sec = time_date->tm_sec; // 秒(本程序中暫未用到)// 如果此時此刻的時、分等于設定值,則開始倒計時60秒if (hour == shutdown_time.timed_hour && min == shutdown_time.timed_min && sec == 0){system("shutdown -s -t 60"); // 定時60秒自動關機count_down_flag = 1; // 倒計時標志置一}// 開始倒計時if (1 == count_down_flag){count_down--;printf("您的電腦將在%d秒后自動關機(輸入數字4可取消自動關機)\n", count_down);Sleep(1000);system("cls");}// 非阻塞式鍵盤監聽,輸入緩沖區非空時則退出while循環if (kbhit()){count_down_flag = 0; // 倒計時標志清零break;}} }

關于時間日期函數,可以查看往期筆記:【C語言筆記】時間日期函數。

3、立即關機

選擇該功能時,先提示是否要關機,預防誤操作。

代碼

// 菜單選擇3:立即關機 void choice_03(void) {char shutdown_affirm; // 確認是否真的需要立即關機scanf("%*[^\n]");scanf("%*c"); // 清空緩沖區printf("您確定要立即關閉您的計算機(y/n)?\n");scanf("%c",&shutdown_affirm); if (shutdown_affirm == 'y'){printf("您的計算機即將關機!\n");Sleep(1000); system("shutdown -p");}else{system("cls");printf_menu();} }

4、取消自動關機

若此時沒有定時關機操作,則選擇取消自動關機時,會打印輸出:

因為沒有任何進行中的關機過程,所以無法終止系統關機。(1116)

代碼

// 菜單選擇4:取消自動關機 void choice_04(void) {system("cls"); // 清屏printf("您已取消自動關機\n");system("shutdown /a"); // 取消自動關機printf_menu(); // 打印輸出菜單 }

5、注銷計算機

代碼

// 菜單選擇5:注銷 void choice_05(void) {system("cls"); // 清屏printf("當前用戶即將被注銷\n");system("shutdown -l"); }

6、打開計算器

代碼

// 菜單選擇6:打開計算器 void choice_06(void) {system("calc"); // 打開計算器的命令system("cls"); // 清屏printf_menu(); // 打印輸出菜單 }

7、打開畫圖軟件

代碼

// 菜單選擇7:打開畫圖軟件 void choice_07(void) {system("mspaint"); // 打開畫圖軟件的命令system("cls"); // 清屏printf_menu(); // 打印輸出菜單 }

8、打開記事本

代碼

// 菜單選擇8:打開記事本 void choice_08(void) {system("notepad"); // 打開記事本的命令system("cls"); // 清屏printf_menu(); // 打印輸出菜單 }

本程序用到的DOS命令

1、清屏操作:cls 2、定時關機:shutdown -s -t sec (說明:sec為要定時的秒數) 3、取消定時關機:shutdown /a 4、輸出此刻的時間:time /T 5、輸出今天的日期:date /T 6、立即關機:shutdown -p 7、注銷計算機:shutdown -l 8、設置cmd窗口標題:title 正念君 (設置標題為“正念君”) 9、設置窗口寬高:mode con cols=60 lines=30 10、設置窗口前景色與背景色:color f0 11、打開計算器:calc 12、打開畫圖軟件:mspaint 13、打開記事本:notepad

這些命令可以cmd窗口中運行,如:

有些不需要依賴于cmd窗口的命令也可以直接在運行窗口中輸入,如在運行窗口中輸入?calc打開計算器:

其中,可通過組合鍵【win+r】調出運行窗口。

完整程序

由于完整的代碼較長,就不貼出來了,有興趣的朋友可在后臺回復關鍵詞:定時關機,獲取該 .c 文件。溫馨提示:鏈接失效,可在后臺回復,或添加小編微信(備注XX鏈接失效)。

總結

論實用性,除了功能二之外,其他功能都可以直接通過在cmd窗口中輸入命令就可以實現。但多寫一些這些功能性的東西,可以很好的鍛煉我們的編程實踐能力及編程的邏輯思維,這對于提高我們嵌入式應用的編寫能力有很大的幫助!

這次寫的是控制臺的定時關機程序,之后有時間有機會再把該定時關機程序做成圖形界面的形式,歡迎持續關注!

轉發、點在看就是對小編最大的支持!

猜你喜歡

【Linux筆記】Linux下編譯C程序

【Linux筆記】make工程管理工具(二)

【C語言筆記】關于數組的一個陷阱!

【C語言筆記】操作位的技巧

【RT-Thread筆記】裸機系統與多線程系統

【RT-Thread筆記】關于RT-Thread的啟動問題

1024G 嵌入式資源大放送!包括但不限于C/C++、單片機、Linux等。關注微信公眾號【嵌入式大雜燴】,回復1024,即可免費獲取!

總結

以上是生活随笔為你收集整理的C语言 | 编写一个简单的定时关机程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 青青草偷拍视频 | 久久久三区 | 毛片哪里看 | 久久久视频在线 | 国产日韩欧美综合在线 | 国产在线不卡一区 | 乱视频在线观看 | 大陆av在线播放 | 亚洲综合久 | 好吊妞视频一区二区三区 | 裸体一区二区 | 九九热视频在线 | 美国特色黄a大片 | 成人尹人 | 国产二级片 | 免费成人毛片 | 免费成人91 | 欧美国产精品一二三 | 亚洲国产欧美在线 | 综合一区 | 超91在线| 完美搭档在线观看 | 亚洲综合婷婷久久 | 丰满少妇av | 无罩大乳的熟妇正在播放 | 亚洲黄色av| 色涩涩| 国产精品二区视频 | 手机看片日韩久久 | 夜夜艹天天干 | av色在线 | 完全免费在线视频 | 涩涩网站在线 | 国产视频一区二区三区四区五区 | 麻豆国产一区二区三区 | 日本高清免费观看 | 国产精品第一国产精品 | 成年人毛片视频 | 欧美日韩一区三区 | 午夜免费福利小电影 | 国产精品免费在线 | 精品成人av一区二区三区 | 亚洲人天堂 | 欧美男优 | 天堂va欧美va亚洲va老司机 | 国产麻豆91视频 | 国产成人自拍网 | av av在线| 自拍偷拍麻豆 | 国产老女人乱淫免费可以 | 在线免费观看日本 | 在线91视频| 国产精品88久久久久久妇女 | 精品在线播放 | 亚洲欧美日韩国产一区二区 | 老熟女高潮一区二区三区 | 国产真人做爰视频免费 | 丰满人妻一区二区三区在线 | 日本一区二区网站 | 国产色综合天天综合网 | 国产三级国产精品国产专区50 | 最新日韩一区 | 日本草草视频 | 97视频久久久 | 中国色视频 | 99综合| 福利综合网 | 欧美激情动态图 | 免费在线观看高清影视网站 | 亚洲黄色成人 | 欧美黑人巨大xxx极品 | 九一在线观看免费高清视频 | 青青草激情 | 女人喂男人奶水做爰视频 | 日韩中文在线播放 | www.中文字幕在线观看 | 亚洲黄色免费在线观看 | 玖玖在线 | 新超碰97 | 一个综合色| 国产人妻人伦精品1国产丝袜 | 男人懂得网站 | 2020国产精品 | 国产97在线视频 | 国产免费无遮挡吸奶头视频 | 特级a毛片 | 成人字幕 | 无码免费一区二区三区免费播放 | 国产精品无码一区二区无人区多人 | 欧美精品在线播放 | 久久av资源站 | 桃谷绘里香在线播放 | 国产精品久久久久久久久久直播 | 轻轻草在线视频 | 国产普通话bbwbbwbbw | 人与禽一级全黄 | 欧美交换 | 蜜桃视频在线网站 | 免费无遮挡在线观看视频网站 |