目錄
為平原等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及平原網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、平原網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!補(bǔ)充
關(guān)機(jī)程序思路
? 一、提示用戶關(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ī)。
一、提示用戶關(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再次提醒用戶重新輸入
}
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)回去再次提醒用戶重新輸入,否則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)查看詳情吧