我正在尝试制作一个 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/