1

textcolor()の関数にユーザー入力の色を渡すにはどうすればよいconio.hですか?

textcolor(BLUE);
cprintf("Hello");

正常に動作しますが、

char c[20];
gets(c);
textcolor(c);
cprintf("Hello");

エラーをスローします。私はそれが自分でうまくいくとは思っていませんでした。問題は、ユーザーが表示するテキストの色をどのように入力できるかということです。いくつかのばかげた制約のために、古いターボ c++ でこれを行う必要がありgraphics.hdos.hなどを使用することはできません。したがって、それ自体を使用するソリューションはtextcolor()素晴らしいでしょう。

4

1 に答える 1

1

コードは次のようになります。

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()関数が返されます。

于 2016-09-29T09:39:49.397 に答える