форматирование — Setw () в C ++ не отвечает, как я ожидал

Таким образом, приведенный ниже код работает нормально, за одним исключением:

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;int main()
{
int value1, value2, value3, value4;
float calcMean,calcStDev;// Input values from keyboard
// prompt user for input
cout << "Enter 1st value. " << endl;
cin >> value1;
cout << "Enter 2nd value. " << endl;
cin >> value2;
cout << "Enter 3rd value. " << endl;
cin >> value3;
cout << "Enter 4th value. " << endl;
cin >> value4;

// Calculate the mean, mean = (value1 + value2 + value3 + value4)/4.0
calcMean = (value1 + value2 + value3 + value4) / 4.0;

// Calculate the standard deviation, standard deviation = squareroot((sum((input value-mean)*(input value-mean)))/number of input value - 1)
calcStDev = sqrt((pow((value1 - calcMean),2) + pow((value2 - calcMean),2) + pow((value3 - calcMean),2) + pow((value4 - calcMean),2))/(4-1));
// Output display
cout << fixed << setprecision(2) << endl;
cout << "Mean of the four values:               " << setw(10) << calcMean << endl;
cout << "Standard deviation of the four values: " << setw(10) << calcStDev << endl;

cin.get();
cin.get();
return 0;
}

Вывод, кажется, не отвечает на setw (), как я ожидал (я хотел, чтобы число 18.50 было прямо над 19.64, одно поверх другого).

Есть идеи, что я делаю не так?

Enter 1st value.
2
Enter 2nd value.
36
Enter 3rd value.
35
Enter 4th value.
1

Mean of the four values:                                     18.50
Standard deviation of the four values:      19.64

0

Решение

Я думаю, что проблема в том, что строковый литерал "Mean of the four values: " содержит встроенные символы табуляции. Вполне возможно, что для вставки пробелов вы нажали клавишу TAB вместо клавиши ПРОБЕЛ.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]