Непонятная для меня строчка кода
int result = (round(coin * 0.1) * 10); // что делает этот фрагмент??
Помогите, вот целая програма...
#include <iostream>
#include <string>
#include <sstream>`введите сюда код`
#include <fstream>
using namespace std;
struct money
{
int grn;
short int coins;
int count;
static int Round(short int coin)
{
int result = (round(coin * 0.1) * 10);
return result;
}
static double multiplication(double money, double coin, int Count)
{
int roundedCoin = Round(coin); // Заокруглюю копійки
stringstream unite; // Об'єднав усі значення для знаходження ціни
double value;
unite << money << roundedCoin;
unite >> value;
double result = (value * Count) / 100; // Виконую множення ціни продукту на його кількість
cout << "The price for product: " << money << "." << coin << "; Count: " << Count << "; Total product price: " << result << endl;
return result;
}
};
static void receipt(double price)
{
cout << "The total price of the receipt: " << price << " grn.\n" << endl;
}
static double Sum(double value1, double value2)
{
double result = value1 + value2;
receipt(result);
return result;
}
static string createFile(string value0, string value1)
{
ofstream out;
out.open("D:Lab1.txt");
out << value0 << endl;// Заповнюю файл значеннями
out.close();
money value;
ifstream in1("D:Lab1.txt");
while (in1 >> value.grn >> value.coins >> value.count) {}// Отримую значення з файлу та присвоїв їх послідовно полям структури оператором ">>"
double a = value.multiplication(value.grn, value.coins, value.count);
out.open("D:Lab1.txt");
out << value1 << endl;
out.close();
money value2;
ifstream in2("D:Lab1.txt");
while (in2 >> value2.grn >> value2.coins >> value2.count) {}
double b = value2.multiplication(value2.grn, value2.coins, value2.count);
Sum(a, b);
return value1;
}
int main()
{
createFile("19 89 3 ", "13 29 1"); // Створюю файл з числами ( вхідними даними ціни)
}
Ответы (1 шт):
Автор решения: n1tr0xs
→ Ссылка
Эта строка производит округление с точностью до десятков.
12 -> 10
5 -> 10
1 -> 0