我正在尝试构建一个如下所示的乘法表图表:
1 2 3 4 5 6 7 8 9 10
----|----|----|----|----|----|----|----|----|----|
1| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10|
-|----|----|----|----|----|----|----|----|----|----|
2| 2| 4| 6| 8| 10| 12| 14| 16| 18| 20|
-|----|----|----|----|----|----|----|----|----|----|
3| 3| 6| 9| 12| 15| 18| 21| 24| 27| 30|
-|----|----|----|----|----|----|----|----|----|----|
4| 4| 8| 12| 16| 20| 24| 28| 32| 36| 40|
-|----|----|----|----|----|----|----|----|----|----|
5| 5| 10| 15| 20| 25| 30| 35| 40| 45| 50|
-|----|----|----|----|----|----|----|----|----|----|
6| 6| 12| 18| 24| 30| 36| 42| 48| 54| 60|
-|----|----|----|----|----|----|----|----|----|----|
7| 7| 14| 21| 28| 35| 42| 49| 56| 63| 70|
-|----|----|----|----|----|----|----|----|----|----|
8| 8| 16| 24| 32| 40| 48| 56| 64| 72| 80|
-|----|----|----|----|----|----|----|----|----|----|
9| 9| 18| 27| 36| 45| 54| 63| 72| 81| 90|
-|----|----|----|----|----|----|----|----|----|----|
10| 10| 20| 30| 40| 50| 60| 70| 80| 90| 100|
-|----|----|----|----|----|----|----|----|----|----|
我无法获得桌子内的线条。我不确定我是否应该将这些虚线放在我的嵌套for循环中,或者我是否必须为它们创建一个单独的循环。
这是我的代码:
for (int i = 1; i <= tableNumber; i++)
{
cout << setw(5) << i;
}
cout << endl << " ";
for (int x = 1; x <= tableNumber; x++)
{
cout << "----|";
}
cout << endl;
for (int row = 1; row <= tableNumber; row++)
{
cout << setw(2) << row << "|";
for (int col = 1; col <= tableNumber; col++)
{
cout << setw(4) << row*col;
cout << "|";
}
cout << endl << endl;
}
答案 0 :(得分:0)
你很亲密!
我建议查看你的for循环中有嵌套的结尾。最后,您只需打印两个结束。也许不是打印两个端线(在每一行之间创建一个间隙),而是可以让它打印其他东西。 ; - )
(我假设这是家庭作业,所以我不想放弃它 - 没有乐趣!)
答案 1 :(得分:0)
您应该设置表格的一行,然后通过并添加底线。增加行值并继续。
示例:
int r (1);
while (r < rowNumbers)
{
for (int c = 1; c < colNumbers; c++)
{
cout << setw(4) << row*col;
cout << "|";
}
cout << endl
for (int x = 1; x <= colNumbers; x++)
{
cout << "----|";
}
court << endl;
r++;
}
这会将行放在数字下面,然后移到下一行。