У меня есть простая программа, которая запрашивает имя фильма и количество билетов, проданных для set1 и set2. Затем он выполняет некоторые вычисления с этими значениями и отображает результаты. Единственная проблема, с которой я сталкиваюсь, заключается в том, что я не могу представить десятичные значения так, как я их хочу.Не может показаться, что выстроить десятичные числа точно
Последние три строки вывода в консоли должны выглядеть так все время (со знаками доллара и десятичными точками): image. Но когда я вводил 1 для set1 билетов и 0 для set2 билетов и наоборот, он выглядит следующим образом: image. Любые идеи о том, как я могу сделать вывод ALWAYS красивым, как на первом снимке экрана? Заранее спасибо.
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main() {
string film = "";
int set1 = 0;
int set2 = 0;
// the cinema always takes this 20% cut.
const double CINEMA_FEE = 0.20;
double profit = 0;
double profitMinusFee = 0;
double paidToMovieMaker = 0;
cout << "What is the name of the film: ";
getline(cin, film);
cout << "How many tickets for set1 sold: ";
cin >> set1;
cout << "How many tickets for set2 sold: ";
cin >> set2;
cout << "Film Name:" << setw(20) << "\"" << film << "\"" << endl;
cout << "Set1 tickets sold:" << setw(16) << set1 << endl;
cout << "Set2 tickets sold:" << setw(16) << set2 << endl;
set1 *= 10;
set2 *= 6;
profit = set1 + set2;
profitMinusFee = profit * CINEMA_FEE;
paidToMovieMaker = profit - profitMinusFee;
// needs to always show two decimal points and fixed
cout << setprecision(2) << fixed;
cout << "The total monetary profit:" << setw(5) << "$ " << profit << endl;
cout << "The net monetary profit:" << setw(7) << "$ " << profitMinusFee << endl;
cout << "Total paid to movie maker:" << setw(5) << "$ " << paidToMovieMaker << endl;
return 0;
}
Вы пригвоздили его. Так просто, но я пропустил это! Спасибо, сэр. – Blueshift