c++ - 尝试选择文本颜色

标签 c++ visual-studio console-application

我正在尝试制作一个 C++ 控制台应用程序,用户可以在其中更改文本的颜色,但它会循环显示每种颜色并以原始颜色结束。这是我目前拥有的。感谢您的帮助。

while (strcmp(clrChoice, "nochange") != 0) {
    break;
}

while (strcmp(clrChoice, "gray") != 0) {
    system("COLOR 8");
    break;
}

while (strcmp(clrChoice, "blue") != 0) {
    system("COLOR 1");
    break;
}

while (strcmp(clrChoice, "lightblue") != 0) {
    system("COLOR 9");
    break;
}

while (strcmp(clrChoice, "green") != 0) {
    system("COLOR 2");
    break;
}

while (strcmp(clrChoice, "lightgreen") != 0) {
    system("COLOR A");
    break;
}

while (strcmp(clrChoice, "aqua") != 0) {
    system("COLOR 3");
    break;
}

while (strcmp(clrChoice, "lightaqua") != 0) {
    system("COLOR B");
    break;
}

while (strcmp(clrChoice, "red") != 0) {
    system("COLOR 4");
    break;
}

while (strcmp(clrChoice, "lightred") != 0) {
    system("COLOR C");
    break;
}

while (strcmp(clrChoice, "purple") != 0) {
    system("COLOR 5");
    break;
}

while (strcmp(clrChoice, "lightpurple") != 0) {
    system("COLOR D");
    break;
}

while (strcmp(clrChoice, "yellow") != 0) {
    system("COLOR 6");
    break;
}

while (strcmp(clrChoice, "lightyellow") != 0) {
    system("COLOR E");
    break;
}

while (strcmp(clrChoice, "white") != 0) {
    system("COLOR 7");
    break;
}

while (strcmp(clrChoice, "brightwhite") != 0) {
    system("COLOR F");
    break;
}

我在 Windows 10 上运行 Visual Studio 2015。

最佳答案

对于发布的代码,结果将始终是颜色 7 或颜色 E:

  • 对于任何字符串,与“brightwhite”不同的是 F,
  • 对于“brightwhite”字符串,它将是 7。

你可能想要这个:

if (strcmp(clrChoice, "gray") == 0) {
    system("COLOR 8");
} else if (strcmp(clrChoice, "blue") == 0) {
    system("COLOR 1");
}
..........

关于c++ - 尝试选择文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42569758/

相关文章:

c++进程cpu使用率跳转导致检测

c# - 从列表中打印出对象元素

visual-studio - Http到https。 IIS还是Visual Studio?

c++ - 如何通过命令行在 Visual Studio/cmake 上构建 yaml-cpp?

C# 随机控制台数学方程游戏 : Converting string back to equation?

c# - 在控制台应用程序中随时捕获用户 key

c++ - 如果它是成员函数,如何声明字符串数组的大小

c++ - 错误: passing x as 'this' argument of x discards qualifiers

c++ - 如何正确引用匿名命名空间中的函数

.net - 如何将类库项目转换为Web应用程序项目?