今天我们来实现一个小程序:关机程序。
这个程序目的在于让我们见识到新的函数:system函数。
首先,明确程序的功能
程序执行起来就倒计时关机,60秒后关机。
如果输入“请不要关机”,就取消关机。
然后,我们完成程序的具体实现
1.先执行倒计时关机的指令,并且提升用户输入“请不要关机”。
倒计时关机,我们要用到 system 函数里的 shutdown 指令,
有输入字符串的要求,定义一个input字符数组,运用scanf函数让input数组从键盘端接收字符串:
#include <stdio.h>
#include <stdlib.h> //使用system函数需要调用stdlib.h头文件
int main()
{
char input[10] = {0}; //创建一个字符串并初始化
system("shutdown -s -t 60");
printf("电脑将在1分钟内关机,如果输入:请不要关机,就取消关机!\n请输入:>");
scanf("%s", input); //input数组从键盘端接收字符串,数组名本来就是地址,不用加地址符
//shutdown -s 关机 -t 时间
return 0;
}
//shutdown的一些其他指令
//shutdown -a 取消关机
//shutdown -s 关机
//shutdown -f 强行关闭应用程序
//shutdown -m \\计算机名 控制远程计算机
//shutdown -i 显示“远程关机”图形用户界面,但必须是Shutdown的第一个参数
//shutdown -l 注销当前用户
//shutdown -r 关机并重启
//shutdown -s -t 时间 设置关机倒计时
//shutdown -r -t 时间 设置重新启动倒计时
//shutdown -h 休眠
2.输入字符串,并判断是不是“请不要关机”。
如果是,停止关机;如果不是,不停止关机,继续提示用户输入“请不要关机”。
运用判断语句和循环语句,进行重复输入,直到用户输入“请不要关机”或电脑关机为止:
#include <stdio.h>
#include <stdlib.h> //使用strcmp函数需要调用stdlib.h头文件
int main()
{
char input[10] = {0};
system("shutdown -s -t 60");
while(1) //实现循环
{
printf("电脑将在1分钟内关机,如果输入:请不要关机,就取消关机!\n请输入:>");
scanf("%s", input);
if(0 == strcmp(input, "请不要关机"))
//判断两个字符串是否相等,要使用strcmp函数,不能直接使用==
//如果第一个字符串小于第二个字符串,返回 <0 的数字
//如果第一个字符串大于第二个字符串,返回 >0 的数字
//如果第一个字符串等于第二个字符串,返回 0
{
system("shutdown -a"); //如果字符串相等,停止关机
break; //输入“请不要关机”时,停止关机,跳出循环
}
}
return 0;
}
最后,关机程序就实现了
#include <stdio.h>
#include <stdlib.h>
int main()
{
char input[10] = {0};
system("shutdown -s -t 60");
while(1)
{
printf("电脑将在1分钟内关机,如果输入:请不要关机,就取消关机!\n请输入:>");
scanf("%s", input);
if(0 == strcmp(input, "请不要关机"))
{
system("shutdown -a");
break;
}
}
return 0;
}