此刻我有这个“画画”:
我想在顶部绘制数字,就像我在左边的字母一样。 像这样:
我该怎么做? 这是我目前的代码:
void MostrarC1(int C1[][14])
{
char arrLetras[] = { 'A', 'B', ' ', 'C', 'D' };
// Ciclo linhas
printf("\n");
for (int lin = 0; lin <= 4; lin++)
{
printf("%c ", arrLetras[lin]);
fflush(stdout);
// Ciclo colunas
for (int col = 0; col <= 13; col++)
{
// lugares
if (lin != 2)
{
C1[lin][col] = 0;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
printf(" ");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN);
printf("|");
}
// corredor
else
{
C1[lin][col] = 0;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_BLUE);
printf(" ");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN);
}
}
printf("\n");
}
printf("\n\n");
}
答案 0 :(得分:0)
我建议你使用像ncurses这样的库(在Windows中PDCurses)来显示你想要的东西。
如果您想继续使用标准输出,则需要在col + 1
内打印迭代列的for
,但要检查它是否在第一行。我预见的主要问题是你应该显示它们的方式之间正确的间距,因为你需要打印相同间距的数字,以便它正确匹配,解决它,我建议你使用printf
的左边填充功能:
int value1 = 2;
int value2 = 12;
printf(%02d, value1) // output is 02
printf(%02d, value2) // output is 12
OBS:检查this link以查看printf
的其他主要选项。