C++:控制电脑状态控制

server/2024/10/18 3:35:12/

以下是一个控制计算机关机、重启、注销和休眠的程序。程序首先输出一个菜单,让用户选择要执行的操作。用户输入数字后,程序会根据用户的选择执行相应的操作。

  1. 关机:用户可以选择立即关机、设定定时关机任务或取消定时关机任务。如果选择立即关机,程序会调用system函数执行"shutdown -s -t 0"命令;如果选择设定定时关机任务,程序会让用户选择定时关机的时间(4小时、8小时、12小时或16小时后),然后执行相应的命令;如果选择取消定时关机任务,程序会执行"shutdown -a"命令。

  2. 重启:程序会调用system函数执行"shutdown -r"命令,实现计算机重启。

  3. 注销:程序会调用system函数执行"shutdown -l"命令,实现计算机注销。

  4. 休眠:程序会调用system函数执行"shutdown -h"命令,实现计算机休眠。

  5. 取消:用户可以选择取消当前操作,程序会直接返回0并退出。

如果用户输入的数字不在1-5之间,程序也会直接返回0并退出。

*在定时关机项中,可进行自定义时间,设置为4h=240min=14400s  -->按秒倒计时关机

#include <cstdlib>
#include <iostream>
#include<windows.h>
using namespace std;
int main()
{int num;cout << "1、关机" << endl;Sleep(500);cout<< "2、重启" << endl;Sleep(500);cout<< "3、注销" << endl;Sleep(500);cout<< "4、休眠" << endl;Sleep(500);cout<< "5、取消" << endl;cin >> num;switch (num){case 1: {int j;cout << "1、关机" << endl;Sleep(500);cout << "2、设定定时关机任务" << endl;Sleep(500);cout << "3、取消定时关机任务" << endl;Sleep(500);cout << "4、取消" << endl;cin >> j;switch (j){case 1:system("shutdown -s -t 0");break;case 2: {int t;cout << "1、4小时后关机" << endl<< "2、8小时后关机" << endl<< "3、12小时后关机" << endl<< "4、16小时后关机" << endl<< "5、取消" << endl;cin >> t;switch (t){case 1:system("shutdown -s -t 14400");break;case 2:system("shutdown -s -t 28800");break;case 3:system("shutdown -s -t 43200");break;case 4:system("shutdown -s -t 57600");break;case 5:return 0;default:return 0;}break;}case 3:system("shutdown -a");break;case 4:return 0;default:return 0;}break;}case 2:system("shutdown -r");break;case 3:system("shutdown -l");break;case 4:system("shutdown -h");break;case 5:return 0;default:return 0;}return 0;
}


http://www.ppmy.cn/server/110688.html

相关文章

【运维】解决Ubuntu 22.04 desktop版本打不开终端

问题 我是在Visual Box中创建的虚拟机&#xff0c;基于Ubuntu 22.04.4 desktop amd64版本。创建之后&#xff0c;在应用列表中打开terminal&#xff0c;并没有启动&#xff0c;过一会&#xff0c;程序自动退出 解决 这种一般都是语言和地区设置的不一致 比如&#xff1a;地区…

Golang | Leetcode Golang题解之第381题O(1)时间插入、删除和获取随机元素-允许重复

题目&#xff1a; 题解&#xff1a; type RandomizedCollection struct {idx map[int]map[int]struct{}nums []int }/** Initialize your data structure here. */ func Constructor() RandomizedCollection {return RandomizedCollection{idx: map[int]map[int]struct{}{},}…

数据集不够用?3DGS助力生成带标注的全新扩展数据!

作者主页&#xff1a;https://louiszengcn.github.io/ 论文标题&#xff1a; Realistic Surgical Image Dataset Generation Based On 3D Gaussian Splatting 导读&#xff1a; 近年来&#xff0c;随着AI技术的飞速发展&#xff0c;数据量的增加为数据驱动的神经网络提供了更强…

【运维】Linux 离线升级指定版本的MariaDB

【运维】Linux 离线升级指定版本的MariaDB 目录 【运维】Linux 离线升级指定版本的MariaDB 1.下载要更新的MariaDB 安装包 2.参考安装过程 解压安装包 3.进入解压的目录 4. 最后升级mariadb 5.查询当前mariadb版本是否是升级之后的版本 以Debian系统为例 1.下载要更新…

手搓 Java hashmap

1. 前言 都知道 hashmap 是哈希表&#xff0c;字典&#xff0c;这里全萌新向&#xff0c;至于为什么萌新向&#xff0c;因为我也不会&#xff0c;算是拷打自己对于一些流程的实现。 我们先把最基础的功能实现了&#xff0c;后面再考虑扰动&#xff0c;红黑冲突树&#xff0c;…

11.STL

STL阶段 禁止复制 文本查询扩展作业解析 get_file函数的作用就是进行预处理操作&#xff0c;将文件中的每一行的内容放在shared_ptr<vector<string>> file里面进行存储&#xff1b;然后对每一个单词进行处理&#xff0c;将单词与行号放在map<string, shared_p…

局域网内的其他电脑访问另一台windows(或linux)电脑里的docker容器部署的服务

背景 我用自己的电脑wsl虚拟机里安装了docker服务,在其中一个docker服务里运行的是文件上传服务fastDFS,假如这台电脑的IP地址是192.168.1.101,wsl的虚拟ip地址为172.26.33.127,我上传的一个文件地址是:172.26.33.127:8889/image/20240831120533.jpg,我想在其他局域网电…

Zookeeper 官方示例2-SyncPrimitive 代码解读(二)

测试命令 java jar .\ZookeeperDemo-0.0.1-SNAPSHOT.jar bTest 192.168.206.100:2181 2 1. Barrier&#xff08;阻塞原语&#xff09; 1.1 概念 [!quote] A barrier is a primitive that enables a group of processes to synchronize the beginning and the end of a comput…