如何将用户输入颜色传递到textcolor()?
问题描述:
如何将用户输入颜色传递给conio.h
中的textcolor()
函数?如何将用户输入颜色传递到textcolor()?
textcolor(BLUE);
cprintf("Hello");
工作正常,但
char c[20];
gets(c);
textcolor(c);
cprintf("Hello");
抛出一个错误。我没有想到它会自己工作。所以问题是,用户如何输入文字的颜色来显示? 由于一些愚蠢的约束,我必须在旧的turbo C++上执行此操作,因此无法使用graphics.h
,dos.h
等。因此,使用textcolor()
本身的解决方案将非常好。
答
您的代码将是这个样子:
char c[20];
gets(c);
if (strcmp("BLACK",c) == 0) {textcolor(BLACK);}
else if (strcmp("BLUE",c) == 0) {textcolor(BLUE);}
else if ... more colors here ...
cprintf("Hello");
记住BLUE
不是字符串,它是等于1 gets()
返回一个字符串,因此strcmp()
功能的整数值的宏。
理解“BLUE”不是一个字符串,其中使用'gets'读取的值是一个字符串。您需要将该字符串转换为值,可能使用查找表或一系列“if”语句。 – CAB
此外,当代码“抛出错误”时,请在您的问题中包含错误信息。 – CAB