目錄
補(bǔ)充
關(guān)機(jī)程序思路
? 一、提示用戶(hù)關(guān)機(jī)
? 二、執(zhí)行程序倒計(jì)時(shí)關(guān)機(jī)
? 三、判斷
??四、源碼
在講之前,首先先和大家補(bǔ)充一下goto語(yǔ)句。
C語(yǔ)言中提供了可以隨意濫用的goto語(yǔ)句和標(biāo)記跳轉(zhuǎn)的標(biāo)號(hào)。
從理論上goto語(yǔ)句是沒(méi)有必要的,實(shí)踐中也沒(méi)有g(shù)oto語(yǔ)句也可以很容易的寫(xiě)出代碼。
但它常見(jiàn)的用法就是終止程序在某些嵌套的結(jié)構(gòu)的處理過(guò)程。
goto語(yǔ)句只能在同一個(gè)函數(shù)內(nèi)部跳轉(zhuǎn),不能跨函數(shù)跳轉(zhuǎn)!!
現(xiàn)在我簡(jiǎn)單寫(xiě)一個(gè)代碼來(lái)實(shí)現(xiàn)goto語(yǔ)句:?
#includeint main()
{
again: //again后是冒號(hào)
printf("666\n");
goto again; //跳轉(zhuǎn)到again的地方
return 0;
}
程序運(yùn)行結(jié)果:
接下來(lái)回歸主題,如何設(shè)計(jì)一個(gè)關(guān)機(jī)程序呢?
關(guān)機(jī)程序思路:程序執(zhí)行起來(lái)就倒計(jì)時(shí)關(guān)機(jī),假設(shè)1分鐘后關(guān)機(jī),如果輸入“我是豬”,就取消關(guān)機(jī)。
一、提示用戶(hù)關(guān)機(jī)#includeint main()
{
printf("請(qǐng)注意,你的電腦將在1分鐘后關(guān)機(jī),如果輸入“我是豬”,就取消關(guān)機(jī)");//提示
return 0;
}
二、執(zhí)行程序倒計(jì)時(shí)關(guān)機(jī)#include#include//使用system要包含頭文件
int main()
{
system("shutdown -s -t 60");//倒計(jì)時(shí)關(guān)機(jī)
printf("請(qǐng)注意,你的電腦將在1分鐘后關(guān)機(jī),如果輸入“我是豬”,就取消關(guān)機(jī)");//提示
return 0;
}
代碼詳解:有一個(gè)系統(tǒng)命令叫shutdown,其中“shutdown -s”為關(guān)機(jī),”shutdown -a”取消關(guān)機(jī),“shutdown -s -t”為設(shè)置時(shí)間關(guān)機(jī),而-t后面跟個(gè)60,就代表60秒后關(guān)機(jī),為了要執(zhí)行這個(gè)命令,我們就要引用函數(shù)system。
#include#include//使用system要包含頭文件
#include//使用strcmp要包含頭文件
int main()
{
char input[20] = { 0 };
system("shutdown -s -t 60");//倒計(jì)時(shí)關(guān)機(jī)
again:
printf("請(qǐng)注意,你的電腦將在1分鐘后關(guān)機(jī),如果輸入“我是豬”,就取消關(guān)機(jī)\n");//提示
//輸入
scanf("%s", input);
//判斷
if (strcmp(input, "我是豬") == 0)
{
system("shutdown -a"); //輸入正確則取消關(guān)機(jī)
}
else //輸入除我是豬以外
{
goto again; //跳轉(zhuǎn)到again再次提醒用戶(hù)重新輸入
}
return 0;
}
代碼解析:這里再次強(qiáng)調(diào),判斷兩個(gè)字符串是否相等,要使用strcmp函數(shù),不能直接使用“==”,這個(gè)在循環(huán)練習(xí)中有提到過(guò)(https://blog.csdn.net/Weraphael/article/details/127750890),goto語(yǔ)句是為了跳轉(zhuǎn)回去再次提醒用戶(hù)重新輸入,否則1分鐘后就強(qiáng)制關(guān)機(jī)。
最后來(lái)看看程序效果吧
#include#include#includeint main()
{
char input[20] = { 0 };
system("shutdown -s -t 60");
again:
printf("請(qǐng)注意,你的電腦將在1分鐘后關(guān)機(jī),如果輸入“我是豬”,就取消關(guān)機(jī)\n");
scanf("%s", input);
if (strcmp(input, "我是豬") == 0)
{
system("shutdown -a");
}
else
{
goto again;
}
return 0;
}
看到這里,你是否有想法來(lái)整蠱你的舍友呢(壞笑)
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)頁(yè)名稱(chēng):程序員都是這樣關(guān)機(jī)的-創(chuàng)新互聯(lián)
文章出自:http://vcdvsql.cn/article26/pjscg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、App開(kāi)發(fā)、軟件開(kāi)發(fā)、網(wǎng)站營(yíng)銷(xiāo)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容