当前位置: 首页 > news >正文

【C++】用Windows API在控制台实现选择选项

2023年8月23日,周三上午

今天上午花了一个小时来实现这个


 这个程序在碰到边界时会发出声音,

通过调用Windows API的Beep函数来实现。

#include<Windows.h>
#include<conio.h>
#include<iostream>
#include<cstdlib>const int OPTIONS_NUMBER = 4;//规定选项数量int optionIndex = 0;//全局变量,方便下面这几个函数之间进行通信struct Option{//放在结构体里面,可以方便以后拓展std::string optionText;
};//创建OPTIONS_NUMBER个选项
Option options[OPTIONS_NUMBER];//初始化选项内容
void initOptions() {options[0].optionText = "选项0";options[1].optionText = "选项1";options[2].optionText = "选项2";options[3].optionText = "选项3";
}//打印选项
void draw(int index) {system("cls");//清理屏幕for (int i = 0; i < OPTIONS_NUMBER; i++) {//打印选项if (i==index) {std::cout << ">>" << options[i].optionText << std::endl;}else {std::cout << "  " << options[i].optionText << std::endl;}}
}//处理按键W和S,实现上下移动“>>”
void processKeys(char key) {switch (key){case 'w':case 'W':if ((optionIndex - 1) < 0) {Beep(1000,200);//Windows API函数,用于发出蜂鸣break;}optionIndex = optionIndex - 1;break;case 's':case 'S':if ((optionIndex + 1) > 3) {Beep(1000, 200);//Windows API函数,用于发出蜂鸣break;}optionIndex = optionIndex + 1;break;default:break;}
}int main() {initOptions();while (1) {draw(optionIndex);char key = _getch();processKeys(key);}
}

 

http://www.lryc.cn/news/136986.html

相关文章:

  • Golang 批量执行/并发执行
  • 使用go语言、Python脚本搭建一个简单的chatgpt服务网站。
  • 基于java会议室预约系统设计与实现
  • Ubuntu18.04 交叉编译curl-7.61.0
  • Android相机-HAL子系统
  • PostgreSQL-研究学习-介绍与安装
  • 【Unity细节】Unity制作汽车时,为什么汽车会被弹飞?为什么汽车会一直抖动?
  • Android初学之android studio运行java/kotlin程序
  • 使用自定义 C ++类扩展 TorchScript
  • UITableView自定义TableHeader和TableFooter
  • 【TA 挖坑03】雾效 | 透光材质 | Impostor | 厚度转球谐
  • 案例-基于MVC和三层架构实现商品表的增删改查
  • Java——一个简单的计算器程序
  • 自定义滑动到底部触发指令,elementUI实现分页下拉框
  • 【Windows 常用工具系列 10 -- linux ssh登录脚本输入密码】
  • C#的索引器
  • 软件配置安装(破解)--- maven下载配置
  • python解析小说
  • SQL Server 执行报错: “minus“ 附近有语法错误。
  • kali linux查看局域网下所有IP,并对指定IP攻击
  • 基于QCC_BES 平台的LMS自适应滤波算法实现
  • 大疆飞卡30运载无人机技术分享
  • 单片机的串口通信
  • 【C/C++】STL学习所得
  • leetcode几个数组题
  • 【LeetCode】模拟实现FILE以及认识缓冲区
  • 【Terraform学习】使用 Terraform 将 EC2 实例作为 Web 服务器启动(Terraform-AWS最佳实战学习)
  • WebGL 变量uniform、gl.getUniformLocation、gl.uniform4f及其同族函数相关
  • 【Visual Studio】生成.i文件
  • 本地生活服务平台加盟哪家公司好?