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