我想让我的程序更漂亮,并为用户提供更改背景和文本颜色的选项,但是它只是以不同的颜色开始(默认情况下应为黑色背景和白色文本)。
很简单:
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);
也不起作用。
我在其他任何地方都不使用该变量。
除非由用户更改,我应如何使程序以黑色背景和白色文本运行?
谢谢
您应该更改顺序,以使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");