Как получить сумму 3 столбцов существующего вывода с помощью ‹iomanip›

Я написал программу для класса, которая использует цикл for, чтобы пользователь ввел значения, и дает вам таблицу со счетчиком циклов, показывает введенное число и продукт. Я пытаюсь получить сумму всех 10 чисел в каждом столбце для отображения в конце каждого. Я довольно смущен, как суммировать каждый столбец и отображать его внизу. Любая помощь будет БОЛЬШОЙ! Я использую Visual Studio Express 2012

#include <iostream>
#include <iomanip> 
using namespace std;

int main()
{

int input;

cout << "Enter Value: ";
cin >> input;
cout << "Loop Counter" << setw(20) << "Number Entered" << setw(14) << "Product" << endl;

for(int counter = 1; counter <= 10; counter++)

{
    int product = input * counter;

    if (product < 10 && counter != 10)
        cout << setw(6) << counter << setw(17) << input << setw(17) << product << endl;  
    else if (product > 10 && counter != 10)
        cout << setw(6) << counter << setw(17) << input << setw(18) << product << endl; 
    else
        cout << setw(7) << counter << setw(16) << input << setw(18) << product << endl;
}
cout<<setfill('_')<<setw(45)<<"_"<<endl;
}

person john132345    schedule 07.04.2014    source источник
comment
Честно говоря, я бы просто использовал printf() и прекратил дело :)   -  person FoggyDay    schedule 08.04.2014
comment
Чего еще ожидать, кроме показанного здесь?   -  person πάντα ῥεῖ    schedule 08.04.2014
comment
@FoggyDay Нет необходимости в printf() ...   -  person πάντα ῥεῖ    schedule 08.04.2014
comment
Это была одна из немногих вещей, в которых COBOL был действительно хорош. :)   -  person Duck    schedule 08.04.2014
comment
Вы хотели получить что-то подобное этому, или вас просто беспокоит бессмысленное форматирование?   -  person πάντα ῥεῖ    schedule 08.04.2014
comment
@πάνταῥεῖ ДА ЭТО последнее! Спасибо большое!!! Это сайты сисек!   -  person john132345    schedule 08.04.2014


Ответы (1)


Вам нужно будет суммировать значения столбцов в отдельных переменных. Измените свой код следующим образом:

#include <iostream>
#include <iomanip> 
using namespace std;

int main() {

    int input = 0;

    cout << "Enter Value: ";
    cin >> input;
    cout << "Loop Counter" << setw(20) << "Number Entered" << setw(14) << "Product" << endl;

    int counterSum = 0;
    int inputSum = 0;
    int productSum = 0;
    for(int counter = 1; counter <= 10; counter++) {
        int product = input * counter;

        if (product < 10 && counter != 10)
            cout << setw(6) << counter << setw(17) << input << setw(17) << product << endl;  
        else if (product > 10 && counter != 10)
            cout << setw(6) << counter << setw(17) << input << setw(18) << product << endl; 
        else
            cout << setw(7) << counter << setw(16) << input << setw(18) << product << endl;
        counterSum += counter;
        inputSum += input;
        productSum += product;
    }
    cout<<setfill('_')<<setw(45)<<"_"<<endl;
    cout << setfill(' ') << setw(7) << counterSum << setw(16) << inputSum << setw(18) << productSum << endl;
}
person πάντα ῥεῖ    schedule 07.04.2014