- 前言
- 一、如何实现强制关机?
- shutdown用法
- 二、优化
- 改进1:通过输入的字符串来判断是否关机
- 改进2:通过猜数字是否正确来判断是否关机
- 总结
前言
亲爱的朋友们大家好,正如题目所见,今天给大家带来了一个趣味小实验–强制电脑关机
不过由于操作过于简单,不能体现和好兄弟的“深厚友谊”,所以博主我就进行了一些小小的改良,具体操作且看下文,我们一起进入今天的学习。
一、如何实现强制关机? shutdown用法
使用shutdown -s 即可实现电脑关机
如果要实现定时关机可以加上 -t 60(单位/s,表示一分钟后关机)
要在C语言中实现,需要引用
代码如下:
#include#include int main(){ system("shutdown -s -t 60");//注意中间的空格不能少 return 0; }
大家可不要只看了第一部分代码就开始实践,上面的只能设置关机,不能取消关机的。(哈哈)
取消关机的命令是:shutdown -a
代码如下:
#include#include int main(){ system("shutdown -s -t 60"); system("shutdown -a"); return 0; }
二、优化 改进1:通过输入的字符串来判断是否关机
这里用到了字符串的比较函数strcmp(); 所以需要引用头文件
简单介绍以下比较函数:
int strcmp ( const char * str1, const char * str2 );
比较两个字符串
将 C 字符串 str1 与 C 字符串 str2 进行比较。
此函数开始比较每个字符串的第一个字符。如果它们彼此相等,则继续使用以下对,直到字符不同或达到终止空字符。
str1>str2 返回 1
str1=str2 返回 0
str1
#include#include #include int main() { system("shutdown -s -t 60"); char str[20] = { 0 }; char cmp[20] = { "我是猪" };//或者“***下一周的饭我带了” while (1) { puts("请输入“我是猪”,否则电脑将会在一分钟后关机。"); scanf("%s", str); if (strcmp(str, cmp) == 0) { system("shutdown -a"); puts("恭喜你,关机取消。"); break; } } return 0; }
改进2:通过猜数字是否正确来判断是否关机
该部分设计了一个猜数字小游戏
那么我们就要来设置随机数:
1、我们可以直接创建一个整形数组提前设计好“随机数”;
2、也可以调用 rand()函数 来生成“伪随机数”,之所以叫伪随机数是因为rand()生成的数字虽然的确是随机的,但是由于每次启动生成的数都是一样的(相当于之前设计好的数组);
rand()不需要参数,他会生成一个从0到最大随机数的任意整数,最大随机数的大小通常是一个固定的大整数;
如果你要产生一个0~99中的随机数,可以表达为 rand()%100
生成一个1~100的随机数,可表达为 rand()%100+1
3、引用
引用
设置游戏开始界面:
void Home() {
printf(" ************************************n");
printf(" ***输入:1、开始游戏 0、退出游戏***n");
printf(" ************************************n");
}
设计猜数字游戏:
void game() {
system("shutdown -s -t 60");//一分钟后关机
puts("游戏开始,如果一分钟内未能猜对数字,电脑将自动关机。");
int num = rand() % 100 + 1; // 生成1--100的随机数
int n = 0;
printf("请输入猜测数字:");
while(1){
scanf("%d", &n);
if (n == num) {
system("shutdown -a"); //关机取消
printf("恭喜你猜对了, 关机取消n");
break;
}
else {
if (n > num)
printf("猜大了,请重新输入:");
else
printf("猜小了,请重新输入:");
}
}
}
完整代码如下:
#include#include #include void Home() { printf(" ************************************n"); printf(" ***输入:1、开始游戏 0、退出游戏***n"); printf(" ************************************n"); } void game() { system("shutdown -s -t 60"); puts("游戏开始,如果一分钟内未能猜对数字,电脑将自动关机。"); int num = rand() % 10000 + 1;//生成1~10000的随机数,当然我们自己测试的时候可以设置1~100 int n = 0; printf("请输入猜测数字:"); while(1){ scanf("%d", &n); if (n == num) { system("shutdown -a"); //关机取消 printf("恭喜你猜对了, 关机取消n"); break; } else { if (n > num) printf("猜大了,请重新输入:"); else printf("猜小了,请重新输入:"); } } } int main() { srand((unsigned int)time(NULL)); int k = 0; while (1) { Home(); printf("是否开始游戏:"); scanf("%d", &k); if (k == 0) break; game(); system("pause"); system("cls"); } return 0; }
总结
以上,就是我们今天一起学习的内容,能给大家增进同学友谊的事情我当然是义不容辞的,希望能给大家带来帮助,谢谢。



