【C语言】关机程序
慕雪年华

不知不觉就摸了几天鱼,及时醒悟,开始码之前在goto语句中提到的关机小程序

@[TOC]

关机程序

在介绍这个程序之前,我们要了解win10系统的一些系统指令

windows系统指令

用win+r打开系统的运行框(这个从xp,win7到win10都有)

在弹出的运行框中输入shutdown -s -t 7200(后面跟着的数字是时间,单位是秒)

image

image

系统将在右下角提示你定时关机的时间,届时还会在定时关机时间提前60s提醒你要关机

想要取消定时关机,可以在运行中输入shutdown -a

image

image

定时关机就被取消了

了解了这个之后,我们就要知悉C语言中可以帮我们在系统的运行中输入指令的函数

system函数

首先,让我们在之前和大家分享过的网站cplusplus上查询该函数的定义

image

简单地说,这个函数就是来帮我们execute执行系统命令的。

同时,cpluscplus网站告诉我们:这个函数的头文件是stdlib.h

先写一个简单的关机程序来实操一下system函数

1
2
3
4
5
6
7
#incldue <stdlib.h>

int main()
{
system("shutdown -s -t 60");//system() -执行系统命令的
return 0;
}

image

循环指令和关机程序

接下来让我们用一个有点损的方式写一个关机程序

运行这个程序后,只有输入“我是🐖”才能取消关机

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
char input[20] = { 0 };
system("shutdown -s -t 60");
while(1)
{
printf("请注意,你的电脑将在1分钟内关机,如果输入:我是猪,就取消关机\n请输入>:");
scanf("%s", input);
if (strcmp(input, "我是猪") == 0)//头文件#include <string.h>
{
system("shutdown -a");
break;
}
}
return 0;
}

这里我们还用到了strcmp函数,用于比较你输入的字符和“我是🐖”是否一致

  • 要注意“==”不能用于比较字符

这里用到的是十分基础的while+if的语句组合。

运行结果如下

image

image

输入我是🐖后注销会取消,如果输入错误会再次弹出提示

goto语句写关机程序

当然,如果看过上一篇的你肯定知道这篇博客的重点是goto

主要是演示一下again在goto所在代码行之前的情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
char input[20] = { 0 };
system("shutdown -s -t 60");//头文件<stdlib.h>
again:
printf("请注意,你的电脑将在1分钟内关机,如果输入:我是猪,就取消关机\n请输入>:");
scanf("%s", input);
if (strcmp(input, "我是猪") == 0)//比较两个字符 -strcmp() 头文件<string.h>
{
system("shutdown -a");
}
else
{
goto again;
}
return 0;
}

运行的结果和上面的whlie语句一样,这里就不截图了

这个代码可以用来整蛊你的损友,或者在春节的时候阻止熊孩子“借”用你的女朋友(指电脑)

询问框里的问题和对应的回答都可以随意更改,当然你也可以把时间改成10秒让人压根来不及反应

如果你用的是devc++,每次运行代码的时候都会自动生成一个exe文件

image

把logo改改,就能去糊弄人了

(话说vs2019要怎么生成exe啊,得去研究一下)

郑重警告!

  • 娱乐一下即可

  • 若使用该程序导致电脑关机且未保存重要文件

本博主不负任何责任!

点个赞再走呗,谢谢!