云计算百科
云计算领域专业知识百科平台

电脑关机的趣味小游戏——system函数、strcmp函数、goto语句的使用

1

文章目录

  • 前言
  • 一. system函数
      • 1.1 system函数清理屏幕
      • 1.2 system函数暂停运行
      • 1.3 system函数电脑关机、重启
  • 二、strcmp函数
  • 三、goto语句
  • 四、电脑关机小游戏
      • 4.1. 程序要求
      • 4.2. 游戏代码
  • 总结

前言

今天我们写一点稍微有趣的代码,比如写一个小程序使电脑关机,代码比较简单好理解,我们的重点在于学习system函数、strcmp函数、goto语句的使用。


一. system函数

system函数可以简单理解为对计算机系统进行操作的函数,使用system函数要包含头文件 #include <stdlib.h>。函数原型:

int system(const char * command)//参数字符串command为命令名。


system()函数如何使用呢?这里举几个例子。

1.1 system函数清理屏幕

system("cls");

未清除前: 清除屏幕

清除后,可以看见之前的数字都被清除重新打印了: 清除屏幕


1.2 system函数暂停运行

system("pause");

代码如下,可以看到运行被暂停了,按任意键程序才会继续。 1

在这里插入图片描述


1.3 system函数电脑关机、重启

1.3.1 电脑关机和延时关机

system("shutdown -s -t 60");

-s 关闭计算机 -t 设置时间参数 60 设置的秒数 如果删除后两项,则运行之后电脑马上关机


1.3.2 取消电脑关机

system("shutdown -a");

-a 取消关机


1.3.3 电脑重启和延时重启

system("shutdown -r -t 60");

/r 重启电脑 -t 设置时间参数 60 设置的秒数 如果删除后两项,则运行之后电脑马上重启


二、strcmp函数

strcmp函数用来比较两个字符串的大小,使用strcmp函数要包含头文件 #include <string.h> 函数原型:

int strcmp( const char *string1, const char *string2 );

strcmp函为字符串比较函数,返回一个整数值 第一个字符串 大于 第二个字符串,则返回 大于0 的数字 第一个字符串 等于 第二个字符串,则返回 0 第一个字符串 小于 第二个字符串,则返回 小于0 的数字

一般大家都会对strcmp函数产生误解,以为strcmp是比较两个字符串的长度,其实不是的。strcmp是比较字符串中对应位置上的字符大小(ASCII 码值大小) 1


三、goto语句

goto语句可以实现在同⼀个函数内跳转到设置好的标号处,例如下图代码goto语句执行后跳转到next所在行了。 2

goto语句如果使⽤的不当,就会导致在函数内部随意乱跳转,打乱程序的执⾏流程,所以建议尽量不使⽤;但是 goto 语句也不是⼀⽆是处,在快速跳出多层循环时,使⽤ goto 就⾮常的⽅便,例如如下伪代码:

for (...)
{
for (...)
{
for (...)
{
if (disaster)
goto error;
}
}
}
error:
...

关于goto语句: 1.不建议使用 2.在一个函数内部使用 3.适用于多层循环跳出的场景 4.不使用goto语句,也能完成效果


学习了上述函数和语句,我们就可以实现一个电脑关机的小游戏了~

四、电脑关机小游戏

4.1. 程序要求

  • 程序运行起来,你的电脑在1分钟内关机
  • 但是输入:“我是猪”,就取消关机
  • 如果输入错误,则在1分钟内反复输入,直至输入正确或者时间耗尽
  • 这个小游戏代码实现比较简单,咱们重在上面的学习,直接上代码也能看得懂,解释在代码注释里。

    4.2. 游戏代码

    #include <stdio.h>
    #include <stdlib.h>//system头文件
    #include <string.h>//strcmp头文件

    int main()
    {
    char input[20] = { 0 };//初始化字符串为 0
    system("shutdown -s -t 60");//电脑1分钟内关机
    again:
    printf("您的电脑将在一分钟后关机,请输入“我是猪”取消关机。\\n");
    scanf("%s", &input);
    if (strcmp(input, "我是猪") == 0)//字符串的比较不能用> < == >= <= !=,要使用strcmp函数
    {
    system("shutdown -a");//如果输入“我是猪”则取消关机
    printf("还算配合,取消关机。\\n");
    }
    else
    {
    goto again;//否则跳转到again行,进行重新输入
    }
    return 0;
    }

    程序运行,电脑1分钟内关机 1

    输入错误则需要重新输入 1

    输入正确取消关机 1

    当然这里不使用 goto 语句也可以完成任务

    #include <stdio.h>
    #include <stdlib.h>//system头文件
    #include <string.h>//strcmp头文件

    int main()
    {
    char input[20] = { 0 };
    system("shutdown -s -t 60");

    while(1)
    {
    printf("您的电脑将在一分钟后关机,请输入“我是猪”取消关机。\\n");
    scanf("%s", &input);
    if (strcmp(input, "我是猪") == 0)
    {
    system("shutdown -a");
    printf("还算配合,取消关机。\\n");
    break;
    }
    }
    return 0;
    }


    总结

    今天学习了用代码写一些趣味小游戏,这篇文章是用system等函数语句做了一个电脑关机的小游戏,大家可以去试试,或者捉弄一下朋友。程序比较简单,但是咱们重在学习知识 ~ 预告下篇博客 —— 猜数字的趣味小游戏——rand函数、srand函数、time函数的使用 期待

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 电脑关机的趣味小游戏——system函数、strcmp函数、goto语句的使用
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!