|
0 / 0 / 0
Регистрация: 08.06.2022
Сообщений: 4
|
||||||
Проблема со сравнением double08.06.2022, 15:31. Показов 1214. Ответов 6
Всем добрый день!
Выполняю задание №7 к главе 4 книги Страуструпа "Программирование. Принципы и практика...". Цель задания: вводить единовременно одно число и одну единицу измерения, выводить их на экран и сравнивать их с ранее введенными. Если последнее введенное больше, чем наибольшее ранее введенное, или меньше наименьшего ранее введенного, нужно вывести на экран соответствующую фразу. Имеется 4 допустимых единицы измерения - m, cm, in, ft. Имею проблему со сравнением значения 0.0254 m / 1 in / 2.54 cm. После первой записи с любой единицей измерения программа повторно выводит сообщение для единицы cm, хотя приведенное значение не менялось. Вот код:
0
|
||||||
| 08.06.2022, 15:31 | |
|
Ответы с готовыми решениями:
6
Проблема со сравнением в шаблонах
[Error] cannot convert 'double (*)(double)' to 'double' for argument '1' to 'double pow(double, double)' |
|
Вездепух
13184 / 6820 / 1821
Регистрация: 18.10.2014
Сообщений: 17,261
|
||||
| 08.06.2022, 16:22 | ||||
|
2. Не воспроизводится. Все рабоатет, как ожидается 3. Не существует чисел double 0.0254 и 2.54. Результат сравнения будет зависеть от того, какие числа получатся на самом деле.min, но вы почему-то на это не жаловались.
0
|
||||
|
0 / 0 / 0
Регистрация: 08.06.2022
Сообщений: 4
|
|||||
| 08.06.2022, 18:29 [ТС] | |||||
|
https://www.stroustrup.com/Pro... cilities.h
0
|
|||||
|
Вездепух
13184 / 6820 / 1821
Регистрация: 18.10.2014
Сообщений: 17,261
|
||||
| 08.06.2022, 19:21 | ||||
double 0.0254 и 2.54. Результат сравнения будет зависеть от того, какие числа получатся на самом деле. В вашем случае второй результат действиельно больше превого. Потому полученное сообщение формально вполне оправданно. Если вы хотите этого избежать, то в такой ситуации вам придется делать сравнение с допуском.
1
|
||||
|
0 / 0 / 0
Регистрация: 08.06.2022
Сообщений: 4
|
||||
| 08.06.2022, 19:50 [ТС] | ||||
|
0
|
||||
|
Вездепух
13184 / 6820 / 1821
Регистрация: 18.10.2014
Сообщений: 17,261
|
|||
| 08.06.2022, 20:23 | |||
Сообщение было отмечено The_beginner как решение
Решениеdouble внутренне представлен в двоичном плавающем формате. В этом формате вообще невозможно представить десятичное число 0.0254. Такого числа не существует в двоичном плавающем формате. Все представимые числа будут имет дробную часть оканчивающуюся на 5. Если дробная часть не оканчивается на 5, то число - непредставимо.0.0254. Это на экране вы видите некое 0.0254, потому что вывод на экран вы осуществляете с огрублением/округлением. Попросите std::cout выводить данные на экране с более высокой точностью (используя std::setprecision) и вы увидите, что там совсем не 0.0254. Заодно вы увидите, что ваша программа ведет себя формально корректно - там действительно достигается новый максимум.
1
|
|||
|
0 / 0 / 0
Регистрация: 08.06.2022
Сообщений: 4
|
|
| 08.06.2022, 20:32 [ТС] | |
|
0
|
|
| 08.06.2022, 20:32 | |
|
Помогаю со студенческими работами здесь
7
Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double Ошибка: error LNK2001: unresolved external symbol "double __cdecl Akk(double,double,double)" Проблема с long double Проблема со сравнением значений(символов) в переменных типа AnsiString Проблема со сравнением файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|