制作一个自动关机程序

当我们在取得一定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文件直接发送给室友,这样就可以看到室友成为小猪的样子了!

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RedefineLim.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值