Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2012, 20:13   #1
Nomicos
Пользователь
 
Регистрация: 16.12.2010
Сообщений: 18
По умолчанию Неправильно работает функция округления числа

При написании функции округления столкнулся с проблемой, связанной, судя по всему, с типом данных. Рабочий код и результат выполнения программы вы можете увидеть на скриншоте.

Код:
#include <iostream>
 
using namespace std;

double round(double number) { return number < 0.0 ? ceil(number - 0.5) : floor(number + 0.5); }

int main() {

	setlocale(0, "RUS");

	double a; printf("Введите число для округления до целых: "); scanf("%d", &a);
	printf("Округлённое число: %f", round(a));

	return 0;
}

Последний раз редактировалось Nomicos; 08.07.2012 в 20:24.
Nomicos вне форума Ответить с цитированием
Старый 08.07.2012, 21:24   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Код:
#include <iostream>
 
using namespace std;

double round(double number) { return number < 0.0 ? ceil(number - 0.5) : floor(number + 0.5); }

int main() {

	setlocale(0, "RUS");

	double a; printf("Введите число для округления до целых: "); scanf("%lf", &a);
	printf("Округлённое число: %lf", round(a));

	return 0;
}
eoln вне форума Ответить с цитированием
Старый 09.07.2012, 12:28   #3
Artem_Kokos
Форумчанин
 
Регистрация: 28.02.2011
Сообщений: 122
По умолчанию

Для типа double надо писать "%lf"
Повторенье - мать ученья. И прибежище для лентяев.
Artem_Kokos вне форума Ответить с цитированием
Старый 09.07.2012, 16:23   #4
Nomicos
Пользователь
 
Регистрация: 16.12.2010
Сообщений: 18
По умолчанию

Теперь прекрасно работает. Спасибо большое.
Nomicos вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция округления в большую сторону в c++ Karina89 Помощь студентам 1 23.11.2011 18:02
неправильно работает сортировка Brabus Помощь студентам 1 30.05.2010 14:25
Функция округления Алена-2009 Microsoft Office Excel 2 07.05.2010 14:13
функция округления artemavd Общие вопросы Delphi 10 28.07.2008 19:36
Скрипт неправильно работает aleksa76 JavaScript, Ajax 4 21.05.2008 17:47