6 мая 2015 г.

Написать функцию, которая принимает в качестве параметров вещественное число и количество знаков после десятичной точки, которые должны остаться. Задачей функции является округление вышеуказанного вещественного числа с заданной точностью.

double des(double digit, int znak);

void main()
{
setlocale(LC_ALL, "Russian");
double digit;
do
{
cout << "Эта программа округляет указанное вещественное число с заданной точностью.\n";
cout << "Пожалуйста, введите число: ";
cin >> digit;
cout << "\nВведите количество знаков после десятичной точки, которые должны остаться: ";
int znak;
cin >> znak;
cout << "Ваше новое число - " << des(digit, znak) << "\n\n";
cout << "Если хотите продолжить, нажмите 1:";
cin >> digit;
} while (digit == 1);
}

double des(double digit, int znak)
{
int tmp = digit;//отделяем целую часть
digit -= tmp;//отделяем дробную часть
int tmp_znak = znak;
while (tmp_znak!=0)
{
digit *= 10;
tmp_znak--;
}
double drob = (int)digit;
while (znak!=0)
{
drob /= 10;
znak--;
}
return (double)tmp + drob;
}

Комментариев нет:

Отправить комментарий