咱就是说同学、舍友、死党这些东西除了有带饭代课功能外,对我们计算机专业的学生还有一个重要功能:测试代码。
前两天,我制作了一个关机程序,然后悄咪咪地发给了我的朋友们,结果......可想而知,听取哀嚎声一片,哈哈~今天我就来和大家分享一下如何实现的,让你的朋友们也都经历一下绝望吧~
首先,制作一个最简易的关机程序。
要想在电脑上执行关机,可以在命令提示符面板上完成。
在桌面放大镜上搜索cmd,这个窗口就会弹出来了
输入 shutdown -s -t 60 意思就是执行命令:60秒后关机。
那我们要在编译器底下执行,就需要模拟windows执行过程,需要system函数,以及引用头文件#include<windows.h>
来看具体代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
int main()
{
char str[20] = { 0 };
system("shutdown -s -t 60");
again:
printf("你的电脑将在60秒后关机,输入“我是猪”终止关机程序\n");
scanf("%s", str);
if (strcmp(str, "我是猪") == 0)
system("shutdown -a");
else
goto again;
return 0;
}
运行结果:
好,关机程序制作完成后,再来想办法给它加些什么东西,使得它更加丰满。
这时我想到另一个有趣的小游戏,可以和它结合,“猜数字”游戏。
猜数字游戏大家应该都会做吧。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("*************************\n");
printf("******* 1. play *******\n");
printf("******* 0. exit *******\n");
printf("*************************\n");
}
void game()
{
int x = rand() % 100 + 1;//1~100
int n = 0;
while (1)
{
printf("请猜数字\n");
scanf("%d", &n);
if (n > x)
printf("猜大了\n");
else if (n < x)
printf("猜小了\n");
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
int main()
{
srand((unsigned int)time(NULL));
int input = 0;
do
{
menu();
printf("请选择:>(1/0)\n");
scanf("%d", &input);
switch (input)
{
case 1:
printf("进入游戏\n");
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入有误,请重新输入\n");
break;
}
} while (input);
return 0;
}
那么把它们结合 ^ ^
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>
void menu()
{
printf("*************************\n");
printf("******* 1. play *******\n");
printf("******* 0. exit *******\n");
printf("*************************\n");
}
void game()
{
int x = rand() % 100 + 1;//1~100
int n = 0;
while (1)
{
printf("请猜数字,范围1~100\n");
scanf("%d", &n);
if (n > x)
printf("猜大了\n");
else if (n < x)
printf("猜小了\n");
else
{
printf("恭喜你,猜对了\n");
break;
}
}
char str[20] = { 0 };
again:
printf("数字猜对了,你为已结束了?这只是开始!\n");
printf("输入“我是猪”,否则继续执行关机程序\n");
scanf("%s", str);
if (strcmp(str, "我是猪") == 0)
system("shutdown -a");
else
goto again;
}
int main()
{
srand((unsigned int)time(NULL));
int input = 0;
system("shutdown -s -t 60");
printf("你的电脑将在60秒后关机,进行猜数字游戏,猜对数字后可取消关机\n");
do
{
menu();
printf("请选择:>(1/0)\n");
scanf("%d", &input);
switch (input)
{
case 1:
printf("进入游戏\n");
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入有误,请重新输入\n");
break;
}
} while (input);
return 0;
}
哈哈,来看运行过程:
当然你也可以做各种补充或改版,比如出道题目去考考你的朋友,做不出来就寄!
或是直接输入“我是猪”也不能取消关机,哈哈,千万别说我教的!!(狗头保命)
想发给你的朋友玩的话,记得保存Release版本的,这种比较完整。
这里默认是Debug版的,我们点它改成Release版的,再保存本地文件就可以了。
最后真的出现了万分紧急的情况(绝对不能关机),就用上面说的cmd,命令控制符输入“shutdown -a” 终止关机程序。好了,去祸害(口误)你的朋友们把~