|
17 / 18 / 0
Регистрация: 01.02.2012
Сообщений: 182
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++"01.02.2012, 17:47. Показов 212304. Ответов 338
Метки нет (Все метки)
Хотя я и начинающий с++-шник. Хочу помочь другим людям. Здесь я буду выкладывать всё что мне удалось решить. В моих решениях будет много хедеров, делал я это в Dev C++. Ос Win 7 64 bit.
Начнём со второй главы: Упражнение 1
Упражнение 2
Упражнение 3
Упражнение 4
Упражнение 5
Упражнение 6
Упражнение 7
Упражнение 8
Упражнение 9
Упражнение 10 (Намучился с этой задачей)
Упражнение 11
Упражнение 12 (это самая геморная программа на разработку которой ушло больше дня)
14
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 01.02.2012, 17:47 | |
|
Ответы с готовыми решениями:
338
Ищу ответы на задания из книги Лафоре Р. "Объектно-ориентированное программирование в С++" 4 издание. Роберт Лафоре, "Объектно-ориентированное программирование на C++" |
|
0 / 0 / 0
Регистрация: 09.06.2015
Сообщений: 12
|
|
| 17.07.2015, 08:47 | |
|
Recrut_rf , хочу выяснить, почему именно эта программа выводится в кодировке 1251 (или это не 1251?), ведь нигде вроде не указывается её подключение.
0
|
|
|
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
|
|
| 17.07.2015, 12:34 | |
|
Mengelion, 1251, После долгих поисков истины, надрыва мозга - предполагаю, что так происходит потому, что Windows-1251 — набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows.
Тут кстати в книге неоднократно используется символ английского фунта стерлингов, естественно даётся и его код, но он так же нихрена не пашет ну и причина (как я думаю) всё таже - Windows-1251 — набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows....
0
|
|
|
0 / 0 / 0
Регистрация: 09.06.2015
Сообщений: 12
|
||||||
| 17.07.2015, 14:51 | ||||||
|
Recrut_rf, для отображения кириллицы в main() в самом начале пишу system("chcp 1251"), некоторые локаль подключают, способов много. Для отображения фунтов можно непосредственно перед выводом символа фунта написать system("chcp 850"), хотя это неудобно.
У меня русская версия Windows, при выполнении простенькой программы вроде этой код
символы выводит так, как нужно. В программе horse.cpp (и в других примерах Лафоре с подключением msoftcon.cpp и msoftcon.h) кодировка каким-то образом меняется на другую без моего участия. Подозреваю, что msoftcon.cpp или msoftcon.h как-то "цепляют" язык Windows и меняют в соответствии с ним кодировку. Хотел бы узнать, что нужно изменить, чтобы это поправить.
0
|
||||||
|
389 / 334 / 66
Регистрация: 14.10.2014
Сообщений: 1,475
|
|
| 17.07.2015, 23:23 | |
|
Mengelion, Лично моих познаний в данном случае недостаточно - я новичок в программировании. Могу лишь посоветовать банальщину - тупо как следует изучить код из msoftcon.cpp. msoftcon.h изучать скорее всего нет никакого смысла - это заголовочный файл и в нём только объявления.
0
|
|
|
0 / 0 / 0
Регистрация: 22.07.2015
Сообщений: 7
|
|
| 22.07.2015, 19:51 | |
|
Здравствуйте. Будьте добры, помогите с кодом. Это 6 упражнение 4 главы. Вроде все правильно,но ответ всегда researcher.
Кликните здесь для просмотра всего текста
int main() { cout<<"Enter the first letter a post(laborer, secretary, manager, accountant, executive, researcher): "; etype post; char ch; cin>>ch; switch (ch) { case 'l': post=laborer; case 's': post=secretary; case 'm': post=manager; case 'a': post=accountant; case 'e': post=executive; case 'r': post=researcher; default: break; } switch (post) { case laborer: cout<<"Full job tittle: laborer "<<endl; case secretary: cout<<"Full job tittle: secretary "<<endl; case manager: cout<<"Full job tittle: manager "<<endl; case accountant: cout<<"Full job tittle: accountant "<<endl; case executive: cout<<"Full job tittle: executive "<<endl; case researcher: cout<<"Full job tittle: researcher "<<endl; default: break; } return 0; }
0
|
|
|
0 / 0 / 0
Регистрация: 31.07.2014
Сообщений: 2
|
|
| 22.07.2015, 20:23 | |
|
Vitoldic,После каждого case добавь break;не только после default;
0
|
|
| 22.07.2015, 21:12 | |
|
Vitoldic, Да прав, после всех ветвей оператора case нужно ставить break;
Без brake у тебя все ветви выполняются последовательно с первой, где возникло совпадение, и друг за другом до последней, включая ветку default
1
|
|
|
0 / 0 / 0
Регистрация: 22.07.2015
Сообщений: 7
|
|
| 23.07.2015, 14:16 | |
|
Рука лицо( как не увидел?( спасибо больщое
0
|
|
|
0 / 0 / 0
Регистрация: 05.08.2015
Сообщений: 1
|
|
| 05.08.2015, 11:40 | |
|
Огромное всем спасибо. Очень помогают ваши решения, так как они дают понять, какими способами можно добиться нужного результата.
0
|
|
|
0 / 0 / 0
Регистрация: 17.11.2015
Сообщений: 4
|
|
| 17.11.2015, 15:34 | |
Помогите решить https://cloud.mail.ru/public/4Fhy/fMRJEN8Qp
0
|
|
|
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 3
|
|||||||||||||||||||||
| 02.12.2015, 16:27 | |||||||||||||||||||||
|
Глава 13 упражнение 2
Elev.h Кликните здесь для просмотра всего текста
Elev.cpp Кликните здесь для просмотра всего текста
Source.cpp Кликните здесь для просмотра всего текста
Elev_app.h Кликните здесь для просмотра всего текста
0
|
|||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 3
|
||||||
| 08.12.2015, 11:13 | ||||||
|
Глава 13 упражнение 3
elevator::decide() Кликните здесь для просмотра всего текста
само решение в тех строках где русские комментарии, но там есть и другие недочеты помимо той что указали в задаче, например если задать 20 вниз, 15 вниз, 10 вниз, тронется 3 лифта(после наших исправлений) как казалось бы и верное решение, но второй лифт забирает пассажиров и ближайшими этажами выше(15) и третий лифт остается бесхозным.Это дополнительные условия который сделают нынешний код программы просто нечитаемым, как мне кажется для идеальной программы учитывающей все детали тут нужно переписывать все с нуля так что не стал тратить время и сильно заморачиваться, успокаивает совесть только то что это не настоящие лифты.
0
|
||||||
|
0 / 0 / 0
Регистрация: 04.11.2015
Сообщений: 6
|
||||||
| 05.01.2016, 14:21 | ||||||
|
Всем доброго дня!
В главе 7 книжки Лафоре есть листинг программы CARDARAY, которая создаёт массив колоды карт, а потом мешает её. Так вот с циклом который мешает непонятка:
0
|
||||||
| 05.01.2016, 15:05 | |
|
KoRnster, Переменная temp после каждой итерации уничтожается, на следующей итерации заново объявляется, определяется и инициализируется (проходит все 3 стадии в одном операторе).
Мне кажется, ты не очень понял смысла этого цикла. Во-первых, на каждой итерации сперва генерируется случайное число - k, служащее индексом для элемента ЗАПОЛНЕННОГО ЗНАЧЕНИЯМИ массива, С КОТОРЫМ нужно будет обменять j-ый элемент. То есть это k нужно, чтобы обменять местами два элемента массива, причем один из его элементов раполагается по рандомному индексу. J-ый индекс идет по порядку(от 0, увеличиваясь с каждой итерацией), а K-ый выбирается рандомно. temp же нужен, чтобы произвести обмен значений массива по двум индексам.
1
|
|
|
0 / 0 / 0
Регистрация: 04.11.2015
Сообщений: 6
|
|
| 05.01.2016, 16:05 | |
|
Ferrari F1,
Спасибо, представив как работал бы этот цикл в реальной жизни с картами всё встало сразу на места
0
|
|
|
0 / 0 / 0
Регистрация: 04.11.2015
Сообщений: 6
|
||||||
| 23.01.2016, 08:52 | ||||||
|
Всем доброго дня!
Обнаружил, что представленный в этой теме на странице 3 код решения задания 5, главы 8 не совсем верен, а именно некорректно перегружены постфиксные операции инкремента и декремента. Вот выкладываю свой вариант. Он, наверное, специфичный, но со своей задачей справляется успешно и всё работает корректно.
0
|
||||||
|
0 / 0 / 0
Регистрация: 04.11.2015
Сообщений: 6
|
||||||
| 07.02.2016, 05:45 | ||||||
|
Всем снова привет.
Есть вопрос по заданию 8 главы 9 (оно же 2 задание).
0
|
||||||
| 07.02.2016, 09:10 | |
|
KoRnster,
Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++"
0
|
|
|
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 2
|
||||||
| 18.04.2016, 12:58 | ||||||
|
Глава 11. Дружественные функции
Листинг 11.9 Кликните здесь для просмотра всего текста
Если закомментировать объявления ф-ии fri_func() в обоих классах, то программа также работает. Почему компилятор не выдает никаких предупреждений? Ведь в этом случае функция fri_func() не является методом ни одного из классов, а доступ к скрытым данным получает... Пишу в DevC++
0
|
||||||
| 18.04.2016, 13:12 | |
|
vve, пробовали перекомпилировать проект?
0
|
|
| 18.04.2016, 13:12 | |
|
Объектно-ориентированный анализ, Объектно-ориентированное проектирование, Объектно-ориентированное программирование Ошибки в книги Р.Лафоре "Объектно-Ориентирование программирование в C++" Ориентированное программирование в С++ Р. Лафоре Объектно-ориентированное программирование Объектно-ориентированное программирование Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного.
1. Почему показания термометра заряжены целью?
Цель заложена в самом. . .
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
По ссылке 403. Не очень информативно такую ссылку постить.
Запись от Usaga размещена Сегодня в 06:46 . . .
|
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|