我是靠谱客的博主 羞涩鸡翅,这篇文章主要介绍C++控制台窗口文字高亮显示前言正文,现在分享给大家,希望可以做个参考。

前言

 由于亿些事情,最近一个月实在没有时间更新,今天终于是挤出来时间更一期了。

正文

定义变量+导入库文件:

#include <iostream>
#include <conio.h>
#include<windows.h>
#include <stdlib.h>
using namespace std;
int choice;//保存虚拟按键值,可以上网搜,也可以自己做程序,个人感觉自己做程序更方便
//本章节使用的按键值:W(向上):119 S(向下):115 Enter:13
int a=1;//定义选择的位置

步骤1:如何进行高亮显示?

这是这篇文章中最主要的一个问题,现在找到了解决方法,如下:

显示方式:

0(默认值)

1(高亮显示,顺便加粗?不确定)

2(暗淡)

22(非粗体,不确定)

4(下划线)

5(闪烁,但是我没看出有什么效果。。)

25(非闪烁)

7(反显,我也没看出效果)

27(非反显)

8(隐藏)

字体颜色:

30(黑色)

31(红色)

32(绿色)

33(黄色)

34(蓝色)

35(品红)

36(青色)

37(白色)

背景色:

40(黑色)

41(红色)

42(绿色)

43(黄色)

44(蓝色)

45(品红)

46(青色)

47(白色)

格式:printf("33[显示方式;字体颜色;背景色m*             文字                      *33[0m");

例:printf("33[4;31;42m*             选择1                   *33[0m");

于是就有了以下代码:

switch (a){
        	case 1:
        		system("cls");
        		printf("33[1;30;47m*选择1*n33[0m");
        		printf("选择2n");
        		printf("Exitn");
        		break;
        	case 2:
        		system("cls");
        		printf("选择1n");
        		printf("33[1;30;47m*选择2*n33[0m");
        		printf("Exitn");
        		break;
        	case 3:
        		system("cls");
        		printf("选择1n");
        		printf("选择2n");
        		printf("33[1;30;47m*Exit*n33[0m");
        		break;

 步骤2:如何让机器识别我们的选择?

我们使用 _getch()来识别我们的按键,它返回的是一个虚拟按键值,代码如下:

choice = _getch();

步骤3:让机器对我们的选择做出判断!

使用switch case语句,判断返回的按键值是否等于w、s、Enter

switch (choice){
		case 119://按下w键,向上移动
			if(a<=1){//做限位
				a=1;
			}
			if(a>1){
				a--;
			}
			
			break;
		case 115://按下s键,向下移动
			if(a>=3){//做限位
				a=3;
			}
			if(a<3){
				a++;
			}
			break; 
		case 13://按下回车键确认执行,做出以下判断
			switch (a){
				case 1://选择1
					system("cls");
					printf("选择了1n");
					system("pause");
					break;
				case 2://选择2
					system("cls");
					printf("选择了2n");
					system("pause");
					break;
				case 3://退出程序
					exit(0);
			}
		
		}

记住,一定要做好限位,否则如果a<1或a>3会出现bug

代码只是一个示例,对于显示的文字和代码可以自行更改

完整代码:


#include <iostream>
#include <conio.h>
#include<windows.h>
#include <stdlib.h>
using namespace std;
int choice;
int a=1;
int main()
{

    while (1)
    {
    
        switch (a){
        	case 1:
        		system("cls");
        		printf("33[1;30;47m*选择1*n33[0m");
        		printf("选择2n");
        		printf("Exitn");
        		break;
        	case 2:
        		system("cls");
        		printf("选择1n");
        		printf("33[1;30;47m*选择2*n33[0m");
        		printf("Exitn");
        		break;
        	case 3:
        		system("cls");
        		printf("选择1n");
        		printf("选择2n");
        		printf("33[1;30;47m*Exit*n33[0m");
        		break;
		}
		choice = _getch();
        switch (choice){
		case 119:
			if(a<=1){
				a=1;
			}
			if(a>1){
				a--;
			}
			
			break;
		case 115:
			if(a>=3){
				a=3;
			}
			if(a<3){
				a++;
			}
			break; 
		case 13:
			switch (a){
				case 1:
					system("cls");
					printf("选择了1n");
					system("pause");
					break;
				case 2:
					system("cls");
					printf("选择了2n");
					system("pause");
					break;
				case 3:
					exit(0);
			}
		//cout<<choice<<"n";//W:119 S:115 Enter:13
		}   
    }
    return 0;
}

演示视频:

C++控制台高亮选择测试——使用Clipchamp制作

最后

以上就是羞涩鸡翅最近收集整理的关于C++控制台窗口文字高亮显示前言正文的全部内容,更多相关C++控制台窗口文字高亮显示前言正文内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(129)

评论列表共有 0 条评论

立即
投稿
返回
顶部