Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在c+中创建具有行和列(完整框)的表+;_C++ - Fatal编程技术网

C++ 在c+中创建具有行和列(完整框)的表+;

C++ 在c+中创建具有行和列(完整框)的表+;,c++,C++,我想为每个house members表创建一个带有has框的表。我在这里使用一个2D数组作为成员,并使用一些ascii字符,如“|”、“-”作为行和列,以及它的创建循环,但我有一个问题,,,框不完整,框的左列不完整,程序中有一个“endl”,我找不到它,并将其删除以修复我的表样式。请在您的编译器上运行我的程序以取消重新启动,这样您可以更好地看到图片 #include <iostream> #include <conio.h> #include <stdio.h>

我想为每个house members表创建一个带有has框的表。我在这里使用一个2D数组作为成员,并使用一些ascii字符,如“|”、“-”作为行和列,以及它的创建循环,但我有一个问题,,,框不完整,框的左列不完整,程序中有一个“endl”,我找不到它,并将其删除以修复我的表样式。请在您的编译器上运行我的程序以取消重新启动,这样您可以更好地看到图片

#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
#include <string.h>
using namespace std;

void setTable();
string table[10][2] = {
    // array
    {" black", " 0"},  {" brown", " 1"}, {" red", " 2"},  {" orange", " 3"},
    {" yellow", " 4"}, {" green", " 5"}, {" blue", " 6"}, {" violet", " 7"},
    {" gray", " 8"},   {" white", " 9"},
};
int main() {
  setTable();

  getch();
  return 0;
}
void setTable() {
  char row = 205, col = 179, cornerL = 198, cornerR = 181, midd = 197,
       cornerLU = 218;
  char cornerRU = 188, middU = 193, cornerRR = 191, cornerLL = 218,
       middleSingle = 194;  // ascii codes

  for (int f = 0; f < 17; f++) {
    if (f == 0) {
      cout << cornerLL;
    } else if (f == 16) {
      cout << cornerRR;
    } else if (f == 8) {
      cout << middleSingle;
    } else {
      cout << row;
    }
  }
  for (int i = 0; i < 10; i++) {
    cout << "\n";
    for (int r = 0; r < 16; r++) {
      if (r == 0)
        cout << col;
      else if (r == 14)
        cout << col;
      else if (r == 7)
        cout << col;  // midd
      cout << " ";
    }
    cout << "\n";
    for (int j = 0; j < 2; j++) {
      cout << table[i][j] << "\t";
      cout << col;
    }
    cout << "\n";
    for (int rd = 0; rd < 17; rd++) {
      switch (rd) {
        case 0:
          cout << cornerL;
          continue;
        case 16:
          cout << cornerR;
          continue;
        case 8:
          cout << midd;
          continue;
        default:
          cout << row;
      }
    }
  }
}

#包括
#包括
#包括
#包括
#包括
使用名称空间std;
void setable();
字符串表[10][2]={
//排列
{“黑色”、“0”}、{“棕色”、“1”}、{“红色”、“2”}、{“橙色”、“3”},
{“黄色”、“4”}、{“绿色”、“5”}、{“蓝色”、“6”}、{“紫色”、“7”}、,
{“灰色”,“8”},{“白色”,“9”},
};
int main(){
可设置();
getch();
返回0;
}
void setable(){
字符行=205,列=179,角L=198,角R=181,中间=197,
角lu=218;
char cornerRU=188,middU=193,cornerRR=191,cornerLL=218,
middleSingle=194;//ascii码
对于(int f=0;f<17;f++){
如果(f==0){
不能这样

 #include <iostream>
 #include <conio.h>
 #include <stdio.h>
 #include <windows.h>
 #include <string.h>
 using namespace std;

void setTable();
string table[10][2] = {  { "black", " 0" },  { "brown", " 1" },  { "red", " 2" },
  { "orange", " 3" },  { "yellow", " 4" },  { "green", " 5" },  { "blue", " 6" },
  { "violet", " 7" },  { "gray", " 8" },  { "white", " 9" } };
   
int main() {
    setTable();
    getch();
    return 0;
} 
void setTable()    {
    char row = 205, col = 179, cornerL = 198, cornerR = 181, midd = 197, cornerLU = 218;
    char cornerRU = 188, middU = 193, cornerRR = 191, cornerLL = 218, middleSingle = 194; //ascii codes

    for (int f = 0; f < 17; f++) {
      if (f == 0) {  cout << cornerLL;    }
      else if (f == 16) {  cout << cornerRR;   }
      else if (f == 8) {cout << middleSingle;      }
      else {  cout << row;      }
    }
    for (int i = 0; i < 10; i++) {
    /****   cout << "\n";
        for (int r = 0; r < 16; r++) {
           if (r == 0)  cout << col;
           else if (r == 14)  cout << col;
           else if (r == 7)   cout << col; // midd
           cout << " ";
        }*****/

        cout << "\n";
        cout << col;            
        for (int j = 0; j < 2; j++) {
           cout << table[i][j] << "\t";
           cout << col;
        }
        cout << "\n";
        for (int rd = 0; rd < 17; rd++) {
            switch (rd) {
                case 0: cout << cornerL;continue;
                case 16: cout << cornerR; continue;
                 case 8: cout << midd;   continue;
                default:cout << row;
            }
        }
    }
}

与其让我们自己运行程序,或者遵循外部链接,不如将输出添加为文本。另外,显示您期望的输出。我希望输出像一个表,每个表的各个部分都有平面边框(查看输出图片)左边的边框不是完整的,谢谢你的帮助;你知道表格的结尾吗?我的意思是最后的边框必须改成另一个ascii码,以获得更好的样式(最后一个数组后面的边框(白色| 9))对于最后一个边框,您可以测试最后一行索引,然后打印特定边框。非常感谢。这很有效
┌═══════┬═══════┐
│black  │ 0     │
ã═══════┼═══════Á
│brown  │ 1     │
ã═══════┼═══════Á
│red    │ 2     │
ã═══════┼═══════Á
│orange │ 3     │
ã═══════┼═══════Á
│yellow │ 4     │
ã═══════┼═══════Á
│green  │ 5     │
ã═══════┼═══════Á
│blue   │ 6     │
ã═══════┼═══════Á
│violet │ 7     │
ã═══════┼═══════Á
│gray   │ 8     │
ã═══════┼═══════Á
│white  │ 9     │
ã═══════┼═══════Á