|
17 / 17 / 2
Регистрация: 03.05.2013
Сообщений: 114
|
||||||
Задания из книги Р. Лафоре07.02.2015, 16:53. Показов 1920. Ответов 1
Метки нет (Все метки)
Приветствую всех!
Выполняю задание из книги Р. Лафоре "ООП в С++". Задание главы 7. Кликните здесь для просмотра всего текста
Одним из недостатков C++ являеться отсутствие для бизнес-программ встроенного типа для денежных значений, такого, как $173 698 001,32. Такой денежный тип должен иметь возможность для хранения числа с фиксированноой десятичной точкой точностью около 17 знаков, которого было бы достаточно для хранения национального долга в долларах и центах.К счастью, встроенный тип С++ long bouble имеет точность 19 цифр, плэтому мы можем использовать его как базисный для класса money, даже импользуя плавающую точку. Однако нам нужно будет добавить возможность ввода и вывода денежных значений с предшествующим им знаком доллара и разделенными запятыми группы по три числа: так проще читать большие числа. Первым делом при разработке такого класса напишем метод mstold(), который принимает денежную строку, то есть строку, представляющую собой некоторое количество денег типа "$1,234,567,890,123.99" вкачестве аргумента и возвращает эквивалентное ее значению число типа long double. Вам нужно обработать денежную строку как массив символов и, росматривая ее символ за символом, скопировать из нее только цифры (0-9) и десятичную точку в другую строку. Игнорируется все остальное, включая знак доллара и запятые. Затем вы можете использовать библиотечную функцию _atold() (заметим, что здесь название функции начинается с символа подчеркивания - заголовочные файлы STDLIB.H или MATH.H) для преобразования новой строки к числу типа long double. Предпологаем, что денежное значение не может быть отрицательным. Напишите функцию main() для проверки метода mstold(), которая несколько раз получаетс денежную строку от пользователя и выводит соответствующее число типа long double. Вот мой код:
0
|
||||||
| 07.02.2015, 16:53 | |
|
Ответы с готовыми решениями:
1
Задания из книги Р. Лафоре Ищу ответы на задания из книги Лафоре Р. "Объектно-ориентированное программирование в С++" 4 издание. Пример из книги Лафоре |
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||||||||
| 07.02.2015, 20:28 | ||||||||
|
ну если буквоедством заниматься, то нет.
далее там про long double говорится, у вас просто double. Поскольку метод не меняет состояние объекта, то он должен быть константным. К этому лучше привыкать как можно раньше.
number += (static_cast<int>(sMoney[j++]) - '0') то, что у вас функция принимает строку по значению а не константную ссылку - это возможно ваша багафича. с одной стороны эффективно передавать тяжелые объекты по константной ссылке, с другой - такое решение избавляет от необходимости заводить временную переменную для модифицируемой строки. Так что если это было сделано намерено - то ок, если нет - то знайте об этом.
0
|
||||||||
| 07.02.2015, 20:28 | |
|
Помогаю со студенческими работами здесь
2
Пример из книги Лафоре Листинг из книги Лафоре Рекурсия с++ из книги Лафоре Упражнение из книги Лафоре Не работает пример из книги Лафоре Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|