|
4 / 4 / 1
Регистрация: 03.09.2014
Сообщений: 156
|
|||||||||||||||||||||
Задача по наследованию в C++, нужно реализовать некоторые моменты08.11.2015, 20:26. Показов 1553. Ответов 13
Метки нет (Все метки)
Написать программу с объектами и реализовать наследование. Ситуация: Klimat
(базовый объект), Derevo (выводной объект). a. Klimat: температура воздуха, скорость ветра, влажность и т.д. b. Derevo: высота, толщина ствола, скорость роста. c. Описать состояние дерева при различных климатических условиях, на сколько оно вырастит за год, когда оно сломается (при определённой скорости ветра). d. Всё результаты должны выводиться на экран и записываться в текстовый файл. Проблема в том, что программа всё время выводит одинаковый результат,что через год,что через 10 лет... Как можно было бы реализовать,чтоб при скорости ветра,допустим, 20, дерево сломается. Как реализовать запись результата в текстовый фал,который находится в одной папке с проектом?
С ломанием дерева вроде разобрался,но правильно ли?
Думаю,что сделал неправильно. Нужно сделать так,чтоб если юзер вводит скорость ветра 20 и больше,то выдавало сообщение "Дерево сломается при скорости ветра..." и дальше уже код не шёл. Добавлено через 1 час 31 минуту По первому своему вопросу сделал так:
Если я введу скорость роста дерева,допустим, 4, то в цикле и увеличение должно быть соответствующим,а пока у меня только перемножает один раз,а уже результат каждый цикл увеличивается на 1. Что-то никаких идей, как это правильно сделать.Что до ломания дерева,то сделал так:
0
|
|||||||||||||||||||||
| 08.11.2015, 20:26 | |
|
Ответы с готовыми решениями:
13
Задача по наследованию. Не понимаю некоторые моменты в формулировке задания Ребят, выручайте, не могу реализовать некоторые моменты Нужно понять по хостингу некоторые моменты |
|
4 / 4 / 1
Регистрация: 03.09.2014
Сообщений: 156
|
||||||
| 08.11.2015, 21:42 [ТС] | ||||||
|
Крюгер, Я везде нахожу только как записывать строку в файл, а мне нужно,чтоб результат работы функции записывался в файл
![]() Типа этого:
0
|
||||||
|
|
|||||||||||
| 08.11.2015, 22:22 | |||||||||||
|
Oxidous,
и не забывайте о правах доступа к полям класса Добавлено через 2 минуты а еще вы не правильно заполняете поля класса. нельзя вот так напрямую их вводить. Добавлено через 55 секунд вернее физически можно но это противоречит инкапсуляции Добавлено через 53 секунды такой же член класса можно определить и для ввода данных. (как я привел вам) Добавлено через 4 минуты вы не правильно делаете инициализацию объектов класса . я бы всё по нормальному переписал, на вашем месте. Добавлено через 25 минут Oxidous, в общем типа того:
Не по теме: от себя хочу добавить, у вас ужасный код-стайл. читать невыносимо. во-первых: транслит это плохо,
1
|
|||||||||||
|
4 / 4 / 1
Регистрация: 03.09.2014
Сообщений: 156
|
|
| 08.11.2015, 22:23 [ТС] | |
|
Крюгер, Благодарю за ответ
Получилось у меня записывать в файл так,как хотел ![]() А как можно реализовать такую вещь: Если я ввожу скорость ветра больше или равную 20,то на экран выводится только строка: "Дерево сломается при скорости 20 м/с." и после этого ничего больше не выводится ![]() Чуть выше я уже писал код,который действительно выводит строку с сообщением,но вот только после неё всё равно выполняется цикл и выводятся 10 строк. Мне тяжело даётся C++,если честно, а потому не могли бы Вы мне пояснить,в чём моя проблема,что в этой части сделал не так и как лучше написать?
0
|
|
|
|
||||||||||||||||
| 08.11.2015, 22:33 | ||||||||||||||||
|
Oxidous, можно, добавьте в членом класса еще одну сравнивающую функцию, которая сравнит текущее значение поля с указанной вами константой 20 м/с, и собсно по результату условия выводите то что вас интересует.
Добавлено через 37 секунд надо добавить
объясню внятнее: сравниваем условие, и если скорость == 20 м/с , то вывод сообщения и туда же бряк.
Добавлено через 2 минуты еще существуют безусловные переходы по метке... (если интересует.)
1
|
||||||||||||||||
|
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
|
|
| 08.11.2015, 22:49 | |
|
Уже столько сообщений в теме, но самого интересного я так и не дождался.
Неужели никого не смущает, что Дерево наследует(!!!) Климату? С такой иерархией классов, уверен, задачу не сдать. Наверное, имелся в виду базовый класс Климат и его каки-нибудь потомки: Заполярье, Средиземноморье, Сахара и т.п.
1
|
|
|
|
|
| 08.11.2015, 22:56 | |
|
Fyret, да вообще мрак. Полно нубов даже среди преподов часто дают задачи по наследованию квадрата от линии. Да, это ошибочно, но тут хоть какой-то ход (пусть и ошибочной) логики, приведшей к такой ошибке прослеживается! А вот как можно наследовать вообще не связанные между собой понятия: деревья и валенки - для меня загадка!
0
|
|
|
|
|
| 08.11.2015, 23:01 | |
|
Fyret, мне лень смотреть на его иерархию, честно =) . ну мб он творчески подходит к задаче? мб человеку так хочется? я лишь ответил на волнующие его вопросы =)
Добавлено через 1 минуту Не по теме: я так классы не наследую
0
|
|
|
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
|
|
| 08.11.2015, 23:06 | |
|
Ну ясно, у каждого своя лень
Мне вот было лень отвечать на замусоленные уже вопросы по файловому вводу-выводу, а про чудное наследование - не выдержал.
0
|
|
|
4 / 4 / 1
Регистрация: 03.09.2014
Сообщений: 156
|
|||||||||||
| 10.11.2015, 22:11 [ТС] | |||||||||||
|
Благодарю за ответы
![]() Всё получилось так,как нужно ![]() Добавлено через 7 часов 41 минуту Разобрался с этим делом,вынес функцию за пределы класса. Ф-ция в классе:
Пишет: Error 7 error LNK2019: unresolved external symbol "public: void __thiscall Derevo::vyvod(int)" (?vyvod@Derevo@@QAEXH@Z) referenced in function _main D:\CPP\An_d\An_d\Derevo.obj Antras_d
0
|
|||||||||||
|
|
||||||
| 10.11.2015, 22:57 | ||||||
|
Oxidous, я вам скинул пример кода где ваш геморрой вовсе не требуется , и почему у вас эта функция встраиваемая? зачем??
Добавлено через 4 минуты Oxidous,
1
|
||||||
|
4 / 4 / 1
Регистрация: 03.09.2014
Сообщений: 156
|
||||||||||||||||
| 12.11.2015, 09:42 [ТС] | ||||||||||||||||
|
Крюгер, Огромное Вам спасибо
Вы очень и очень мне помогаете. Тяжко даётся C++, если честно,а нормально начать изучать просто нет времени,хоть и очень инетересно, и есть желание,ибо заочная учёба - это гонка,чтоб всё сдать вовремя...Интересует такой вопрос: Я создал класс с пременной:
0
|
||||||||||||||||
|
|
|
| 14.11.2015, 00:40 | |
|
Oxidous,
Не по теме: в с++ нету процедур. есть только функции, которые возвращают или не возвращают результат. аналогично процедурам в делфи но всё же функции я вам уже приводил пример, вам не надо никаких т.н. "процедур", вот здесь: https://www.cyberforum.ru/cpp-beginners/thread1575075.html#post8312402 просто перегружаете операторы ввода и вывода, и получите то что вам нужно. нафига вы делаете такие костыли?
0
|
|
| 14.11.2015, 00:40 | |
|
Помогаю со студенческими работами здесь
14
Настраиваю локальную сеть, нужно уточнить некоторые моменты Проясните некоторые моменты
Объясните некоторые моменты в задаче Не могу понять некоторые моменты Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|