电脑强制关机小游戏


前言

这个小游戏在看老师讲的视频自己跟着打的时候还打错了,自己完全把字符串要用%s记成了%c,所以导致本人被强制关机两次,就眼巴巴地看着它关机,自己被整笑了!


一、游戏要求

需要实现输入对的口令才能将关机取消。

学到了goto语句,C语言提供了可以随意使用的goto语句,但是不建议用goto语句,因为代码容易混乱,而且也不是必需的。

代码如下:

//goto语句
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
	char input[20] = {0};
	//shutdown -s -t 60
	//电脑将在60s关机
	//system()   为执行系统命令
	system("shutdown -s -t 60");
again:
	printf("请注意:您的电脑将在一分钟内关机,如果输入:0219,就取消关机\n请输入:");
	scanf("%s", input);//字符串要用%s
	if (strcmp(input, "0219") == 0)//两字符串比较,strcmp()
	{
		system("shutdown -a");
	}
	else
	{
		goto again;
	}
	return 0;
}

 shutdown -s和shutdown-a的用法

shutdown-s是用来强制关机的,在后面加-t 60就是说,时间在60s内(一分钟内),要用到<stdlib.h>的头文件,同时调用system()函数来实现在一分钟内关机,system()函数就是为执行系统的命令的,

shutdwn-a   是取消关机的命令,同样需要调用system()函数来实现,

二、不使用goto语句也可以完成

需要用到while()循环语句

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	char input[20] = {0};
	while (1)
	{
		system("shutdown -s -t 60");
		printf("请注意:您的电脑将在一分钟内关机,如果输入:0219,就不会关机\n请输入:");
		scanf("%s", input);
		if (strcmp(input, "0219") == 0)
		{
			system("shutdown -a");
			break;
		}
	}
	return 0;
}

三、可以实现一个通过猜数字是否正确来决定是否关机的小游戏

代码如下:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>

void menu()
{
	printf("$$$$$$$$$$$$$$$$$$$$$$$\n");
	printf("$$$1:进入游戏 0:退出$$$\n");
	printf("$$$$$$$$$$$$$$$$$$$$$$$\n");
}

void game()
{
	//生成一个随机数,用到<time.h>的头文件,并调用time()函数
	system("shutdown -s -t 60");
	printf("游戏开始:如果一分钟内未猜出随机数,电脑将会强制关机\n请输入:");
	int num = rand() % 100 + 1; //生成一个1-100之间的随机数
	int guess = 0;

	while (1)
	{
		printf("请输入猜测的数字:\n");
		scanf("%d", &guess);
		if (guess > num)
		{
			printf("猜大啦!");
		}
		else if (guess < num)
		{
			printf("猜小啦!");
		}
		else
		{
			system("shutdown -a");
			printf("恭喜你,猜对了,电脑不用关机了!\n");
			break;//这个break必须要有,不然死循环了
		}
	}

}

int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));

	//这里不能用while (1)来进入循环,因为当输入0的时候就不会退出游戏,并且继续让你做选择!!!
	do
	{

		menu();
		printf("请选择是否要进入游戏:\n");
		scanf("%d", &input);
		switch (input)
		{
			case 1:
				game();
				break;
			case 0:
				printf("退出游戏\n");
				break;
			default :
				printf("选择错误,请重新选择\n");
				break;
		}


	}
	while (input);

	return 0;
}

关于C语言中NULL怎么用,我大致理解为,是指向一个特殊的地址,但是这个地址我们访问不了。NULL的作用就是当一个指针变量没有被显性初始化时,将该指针变量的值赋为NULL。解引用前判断指针变量是否为NULL,如果为NULL说明该指针没有初始化过,不可解引用。摘自: 

c语言中NULL到底是什么?_c null_正在起飞的蜗牛的博客-CSDN博客


总结

这不就和前面的游戏联系在一起了,继续学习吧,蛮有趣的!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值