当我们在取得一定C语言基础的时候,不妨尝试写一个趣味程序:输入“我是猪”否则电脑将在60s后关机。
首先要明确制作语言的逻辑
第一步:电脑将在60s后关机
首先布局出大体的框架结构
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
system("pause");
return 0;
}
那么问题来了:如何让电脑运行关机程序,又如何让电脑关闭自动关机程序?
我们打开搜索栏目,搜索cmd打开命令提示符,我们尝试输入shutdown -s -t 60(注意中间有空格)是不是就会出现系统提示啦,虽然你把提示关闭了,但是电脑后台依旧是在为你计时的,不过先不要慌,现在你输入 shutdown -a这时电脑设定的关机就解除了
根据这个思路,我们可以写出
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//关机程序:电脑运行起来后一分钟内关机
//如果输入:“我是猪”。那么就取消关机
int main()
{
char input[20]={0}; //设定存放输入字符的数组
system("shutdown -s -t 60"); // 设定关机程序
printf("你的电脑将在60s后关机,如果输入“我是猪”,则取消关机\n");
scanf("%s",input); //检测输入的字符
system("pause");
return 0;
}
第二步:输入”我是猪“取消关机
我们需要将输入的字符串与”我是猪“对比,我们此时需要用到一个比较字符串大小的库函数strcmp
如果输错则不进行取消关机操作,那么我们会使用if语句
则代码可以写成
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//关机程序:电脑运行起来后一分钟内关机
//如果输入:“我是猪”。那么就取消关机
int main()
{
char input[20]={0};
system("shutdown -s -t 60");
printf("你的电脑将在60s后关机,如果输入“我是猪”,则取消关机\n");
scanf("%s",input);
if(strcmp(input,"我是猪")==0) //判断是否输入的是"我是猪"
{
system("shutdown -a"); //输入”我是猪“所执行的程序
printf("恭喜你,你的关机被取消了,哈哈哈哈哈哈哈哈哈哈哈");
}
system("pause");
return 0;
}
此时我们又想到如果输入一次输入错误的话则用户的电脑将无法取消预定关机,所以我们应该给用户重复多的机会,在此特定函数下,我们会发现选择goto语句较为简洁
我们有
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//关机程序:电脑运行起来后一分钟内关机
//如果输入:“我是猪”。那么就取消关机
int main()
{
char input[20]={0};
system("shutdown -s -t 60");
again: //goto语句指向的句子
printf("你的电脑将在60s后关机,如果输入“我是猪”,则取消关机\n");
scanf("%s",input);
if(strcmp(input,"我是猪")==0)
{
system("shutdown -a");
printf("恭喜你,你的关机被取消了,哈哈哈哈哈哈哈哈哈哈哈");
}
else{
goto again; //goto语句
}
system("pause");
return 0;
}
好啦,一个简单的整蛊程序就制作好了
当我们想把程序转给室友时,我们尽量不要直接把.c文件传给室友以免他看出部分端倪,我们可以将debug版本改成release版本,再讲release文件夹下的exe文件直接发送给室友,这样就可以看到室友成为小猪的样子了!