Избавление от экспонентной записи ответа и упрощение кода
395
Есть код, запрашивающий кол-во долларов у пользователя, а затем выводящий его эквиваленты в других валютах.
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
	setlocale(0,"");
const float funt = 1.487F;
const float frank = 0.172F;
const float marka = 0.584F;
const float iena = 0.00955F;
float dollar;
	cout << "Введите кол-во долларов: ";
	cin >> dollar;
	cout << "фунт стерлингов" << setw(20) << std::setprecision(2) << dollar/funt
		 << "\nфранц. франки" << setw(22) << std::setprecision(2) << dollar/frank
		 << "\nнемецкая марка" << setw(21) << std::setprecision(2) << dollar/marka
		 << "\nйена" << setw(31) << std::setprecision(2) << dollar/iena << endl;
system("pause");
}

Вопрос:
1) Можно ли как-то упростить его или я все норм сделал?
2) Как избавиться от экспонентной записи ответа. Например он выводит x^e+0.008, но мне нужен ответ в виде 0,008x (именно полный ответ типа 0,194)?
t98jdz4pt8k0.jpg
26.01, в 21:31
сори за неправильную картинку
06etj8wm56no.jpg
Ответы (3)
Сортировать по:
  • 1
    Решение
    std::cout << std::setiosflags (std::ios::fixed);
    Попробуйте так.
  • Решение
    ... << setw(20) << sprintf("%.3f", dollar/funt)
  • Решение
    а ещё лучше
    printf("%-20s %.3f\n", "фунт стерлингов", dollar/funt);
Написать ответ

Войдите, чтобы написать ответ

Войти через TM ID