C语言课程设计题目五:西文下拉菜单的设计

题目五:西文下拉菜单的设计

主要功能:

  1. 完成一个类似 DevC++集成系统下拉菜单的设计。
  2. 不要求实现各子菜单的功能。

要求: 可以通过光标键的移动来选择不同的菜单项,被选择的菜单项反相显示,当选定某个菜单项后,按回车键可以实现一个简单的动作。

先学习一下键盘事件
百度搜菜鸟教程->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] = {
   
		{
   "新建文件"},
		{
   "打开文件"},
		{
   "保存文件"},
		{
   "另存为"},
		{
   "关闭文件"},
		
好的,我来为您介绍如何使用简单的C语言实现一个西文下拉菜单设计。这个程序主要功能是模拟DevC++集成系统中的下拉菜单,包括菜单项的选择和高亮显示。 以下是实现这个功能的C语言代码: ```c #include <stdio.h> #include <conio.h> #include <windows.h> #define MENU_ITEMS 5 void gotoxy(int x, int y) { COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); } int main() { int current = 0; int key; char *menu[MENU_ITEMS] = {"New", "Open", "Save", "Save As", "Exit"}; while (1) { system("cls"); for (int i = 0; i < MENU_ITEMS; i++) { if (i == current) { printf("\x1b[7m%s\x1b[0m\n", menu[i]); } else { printf("%s\n", menu[i]); } } key = _getch(); if (key == 224) { key = _getch(); if (key == 72) { // Up arrow current = (current - 1 + MENU_ITEMS) % MENU_ITEMS; } else if (key == 80) { // Down arrow current = (current + 1) % MENU_ITEMS; } } else if (key == 13) { // Enter key printf("\nYou selected: %s\n", menu[current]); break; } } return 0; } ``` 这段代码实现了以下功能: 1. 使用一个字符串数组来存储菜单项。 2. 使用光标控制函数(gotoxy)来控制光标位置。 3. 通过键盘输入来控制菜单项的选择。 4. 使用反相显示(高亮)来表示当前选中的菜单项。 5. 当按下回车键时,显示选中的菜单项并退出程序。 这个程序可以作为一个基本框架,您可以在此基础上添加更多的功能和菜单项,实现更复杂的菜单系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值