2016-11-18 7 views
-2

私は、これはこの時点で「描く」があります。どうすればいいですか?

What i have

私は左の文字で行ったように、トップの数字を描きたいです。このような 何か:

What I want

私はそれをどのように行うことができますか? これは、この時点で私のコードです:

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 + 1forの中に印刷して、列を繰り返しますが、最初の行にあるかどうかを確認する必要があります。私が予想している主な問題は、正しい間隔で番号を印刷して解決するために番号を正しく表示する方法です。printf機能の左パディングを使用することをお勧めします:

int value1 = 2; 
int value2 = 12; 
printf(%02d, value1) // output is 02 
printf(%02d, value2) // output is 12 

OBS:のその他の先行オプションについては、this linkをチェックしてください。

関連する問題