2017-03-03 24 views
0

我試圖使一個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

+0

爲什麼你需要所有這些while循環? –

+0

@KirillKobelev他們是「如果」循環,但它做了同樣的事情,所以我試圖改變他們while循環。我對C++比較陌生。 – CabbageOverlord

回答

1

運行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"); 
} 
.......... 
+0

當我對C++有更多的瞭解時,我會回到這個想法。 – CabbageOverlord