题目五:西文下拉菜单的设计
主要功能:
- 完成一个类似 DevC++集成系统下拉菜单的设计。
- 不要求实现各子菜单的功能。
要求: 可以通过光标键的移动来选择不同的菜单项,被选择的菜单项反相显示,当选定某个菜单项后,按回车键可以实现一个简单的动作。
先学习一下键盘事件
百度搜菜鸟教程->C/C++ 获取键盘事件
https://www.runoob.com/w3cnote/c-get-keycode.html#:~:text=C/C++%20%E8%8E%B7%E5%8F%96%E9%94%AE%E7%9B%98
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<conio.h> //用于获取键盘输入
#include<Windows.h>
#define MAX_MENU_ITEMS 10
typedef struct {
char name[50];
}MenuItem;
void drawMenu(MenuItem* items, int itemCount, int selectedItem){
system("cls");
printf("\n");
printf("+-----------------------------+\n");
printf("| 西文下拉菜单 |\n");
printf("+-----------------------------+\n");
for (int i = 0; i < itemCount; i++) {
if (i == selectedItem) {
//当前选中项反相显示
printf("| [>] %-23s |\n", items[i].name);
}
else {
printf("| %-24s |\n", items[i].name);
}
}
printf("+-----------------------------+\n");
}
int main() {
MenuItem menu[MAX_MENU_ITEMS] = {
{
"新建文件"},
{
"打开文件"},
{
"保存文件"},
{
"另存为"},
{
"关闭文件"},