用不同颜色开头的C语言程序

问题描述 投票:0回答:1

我想让我的程序更漂亮,并为用户提供更改背景和文本颜色的选项,但是它只是以不同的颜色开始(默认情况下应为黑色背景和白色文本)。

很简单:

printf("\n\tBACKGROUND AND TEXT COLOR\n\n");
printf("------------------------------\n\n");
printf(" 1) Black background and white text\n");
printf(" 2) White background and black text\n");
printf(" 3) Black background and red text\n");
printf(" 4) White background and red text\n");
printf(" 5) Go back\n\n");
printf("------------------------------\n\n");
printf(" ");
scanf("%d", &color);

if(color==1) system("color 0f");
if(color==2) system("color f0");
if(color==3) system("color 04");
if(color==4) system("color f4");
if(color==5) main();

但是现在程序有白色背景和红色文本(4),除非我在运行时更改它。

定义int color=1;无效。放在开头的if (color!=2,3、4 ) system (color 0f);也不起作用。

我在其他任何地方都不使用该变量。

除非由用户更改,我应如何使程序以黑色背景和白色文本运行?

谢谢

c colors dev-c++
1个回答
0
投票

您应该更改顺序,以使system("color 0f");位于所有其他语句之后。即使在if参数为true之前都不应该评估它们,程序仍会看到存在“ system(“ ...”)“语句,并将最后一个语句作为默认值进行评估。

if(color==2) system("color f0");
if(color==3) system("color 04");
if(color==4) system("color f4");
if(color==1) system("color 0f");
© www.soinside.com 2019 - 2024. All rights reserved.