【问题标题】:How to print next to each other instead of vertically?如何彼此相邻打印而不是垂直打印?
【发布时间】:2017-04-05 04:07:28
【问题描述】:

如何使数字 1-10 打印在销售额旁边,而不是 1-10 下的销售额?

void Bonus::calcAndDisplay(int salesArray[10][4], double rate)
{
    for (int num = 1; num < 11; num += 1)
    {

        cout << num << "\n";
    }

    for (int row = 0; row < 10; row += 1)
    {

        for (int column = 0; column < 4; column += 1)
        {
            totSales += salesArray[row][column];
        }   
        cout << totSales << "\n";
        totSales = 0;
    }
}

【问题讨论】:

  • totSales 是什么?通常,将两个 for 循环结合起来。 nun=row+1 在你的情况下。

标签: c++ arrays output


【解决方案1】:

从根本上说,您的代码存在结构性问题。

一旦您写入控制台并移至下一行,您就无法返回并在该行上进一步写入。 (一般)

您需要重新考虑您的算法,以便在单个操作中写入数字、销售额和奖金,而不是将循环分成 Loop1、loop2 然后 loop3。

我采用了主 for 循环并移动了在循环内打印 COUNT 的行。

for (int row = 0; row < 10; row += 1)
    {
        cout << row << "\t";
        for (int column = 0; column < 4; column += 1)
        {
            totSales += salesArray[row][column];
        }
        cout << totSales << "\n";
        totSales = 0;
    }

注意:\t 是一个制表符... \t\t 是两个制表符。

我还没有测试过代码,但是从这里你应该可以让它工作

【讨论】:

  • 好的,现在我无法在其中获取 salesBonus,我尝试在与 totSales 计算相同的位置执行 salesBonus = totSales * rate,并将其打印在与 totSales 相同的位置,但它不是工作时,我还需要在奖金上保留两位小数,但是当我在该打印语句之前设置精度时,它除了在行输出之前添加零之外什么都不做?
  • @David 你不是说\t 是标签吗??
  • @SrinivasSuresh,谢谢,是的,我的意思是 \t 而不是 /t。我在写的时候有一个 Brain Phart。我已经更正了原始帖子以反映正确的信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
  • 2013-11-24
  • 2019-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多