0 / 0 / 0
Регистрация: 27.03.2022
Сообщений: 27
|
||||||
1 | ||||||
Описать класс треугольник по двум его сторонам17.04.2022, 21:20. Показов 2326. Ответов 33
Метки нет (Все метки)
Надо описать класс - "Треугольник" ,по двум его сторонам и углу между ними .
У класса должен быть конструктор с параметрами по умолчанию, а также следующие методы: вывод информации о длинах сторон треугольника; изменение длин сторон; определение углов, высот и площади треугольника. Предусмотреть проверку существования треугольника с заданными сторонами (при задании в конструкторе и при изменении сторон посредством соответствующего метода). Я сам начал делать все это дело , но запнулся на площади , что-то работает не так и я не пойму что . В общем просьба помочь мне и объясните пожалуйста , что вы сделали и какие ошибки у меня были . Вот мой код:
0
|
17.04.2022, 21:20 | |
Ответы с готовыми решениями:
33
Графические задачи. Построить треугольник АBC по двум сторонам и углу между ними и подписать его вершины и размеры сторон Идентифицировать треугольник по двум сторонам и углу между ними идентифицировать треугольник по двум сторонам и углу между ними идентифицировать треугольник по двум сторонам и углу между ними |
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
|
|
19.04.2022, 21:30 | 21 |
Ну там ведь всё написано. Переменные не инициализированы. Чтобы исправить это, надо их инициализировать. Для этого у классов существуют конструкторы. А про "что вообще не так" я вам уже 2 раза написал, теперь ещё и компилятор, вы почему-то даже не реагируете.
0
|
Вездепух
11696 / 6375 / 1724
Регистрация: 18.10.2014
Сообщений: 16,071
|
|
19.04.2022, 21:39 | 22 |
Не понял. Так "я написал" или "я утащил написанный, а сам ничего не писал"?
0
|
0 / 0 / 0
Регистрация: 27.03.2022
Сообщений: 27
|
|
20.04.2022, 08:02 [ТС] | 23 |
Ну по идее я должен был утащить , но в итоге написал.
0
|
0 / 0 / 0
Регистрация: 27.03.2022
Сообщений: 27
|
||||||
25.04.2022, 23:41 [ТС] | 24 | |||||
Ещё вопросик, в общем , я прописал метод для нахождения углов
angleA, angleB, angleC , но почему-то программа читает угол А как-то не так , при чем я его сам задаю через cin .Лучше попробуйте сами , введите первые две стороны 3 и 4 с углом 90 - он всё посчитает верно Позже попробуйте ввести две стороны 5 и 5 с углом 60 - по сути это равносторонний треугольник все углы равны 60 и стороны равны 5 , но тут программа почему-то ошибается .
Я не знаю как их инициализировать, а понятие конструктор от меня вообще далеко . Если можете , то продемонстрируйте наглядно пожалуйста, теорию я по этому вопросу читал, только вот везде всё так замудрённо написано, везде какие-то термины непонятные, да и сложные для понимания
0
|
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
|
|||||||||||
26.04.2022, 10:01 | 25 | ||||||||||
Однако же оно у вас в задании прямо указано.
Конструктор - это специальная функция класса, которая вызывается при создании объекта этого класса. Конструктор определяется так:
in() и подобных. Тем более, что в задании у вас про них ни слова не сказано.Так скажите, какие вам термины непонятны, и что вызывает затруднения. Иначе будет очень сложно что-то вам объснить.
0
|
0 / 0 / 0
Регистрация: 27.03.2022
Сообщений: 27
|
||||||
26.04.2022, 16:48 [ТС] | 26 | |||||
Интересует вот этот момент
0
|
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
|
|
26.04.2022, 17:21 | 27 |
Можно использовать методы. Во-первых, это сделает код яснее. Во-вторых, по заданию надо пересчитывать все данные треугольника после возможных изменений, поэтому методы помогут не заниматься копированием кода расчёта в каждое место, где он может понадобиться, а вызывать методы, написанные один раз.
private здесь делает данные треугольника недоступными за пределами самого класса треугольника. Переменные перечислены, так как они являются данными класса, точно так же, как они были перечислены у вас раньше.
0
|
0 / 0 / 0
Регистрация: 27.03.2022
Сообщений: 27
|
||||||
26.04.2022, 20:13 [ТС] | 28 | |||||
А в чём собственно смысл ? я что-то не понимаю видимо .
Добавлено через 2 часа 38 минут
0
|
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
|
||||||
26.04.2022, 21:14 | 29 | |||||
Это как раз инициализация переменных класса. Можно записать чуть иначе (технически это не эквивалентно предыдущему варианту, но для понимания сути пойдёт):
0
|
0 / 0 / 0
Регистрация: 27.03.2022
Сообщений: 27
|
|
26.04.2022, 21:24 [ТС] | 30 |
У меня же по условию задачи стоит конструктор по умолчанию
0
|
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
|
||||||
26.04.2022, 21:58 | 31 | |||||
Откровенно говоря, тут написана неоднозначная задача. Скорее всего, имеется в виду, что параметры должны иметь какие-то значения по умолчанию. Например:
0
|
0 / 0 / 0
Регистрация: 27.03.2022
Сообщений: 27
|
|
27.04.2022, 00:33 [ТС] | 32 |
Ну как я понял, предопределенные значения в этом задании это две стороны и угол между ними, которые вводятся пользователем , то есть это произвольные предопределенные значения, можно сказать, ну по крайней мере я так думаю.Так же в задании говориться не только о том что конструктор должен иметь значения по умолчанию, но и то что значения сторон и углов можно изменить, ну как я думаю, тут если не через switch, это сделать, то только так как сделал я
0
|
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
|
||||||
27.04.2022, 09:18 | 33 | |||||
Предопределённые (по умолчанию) это как раз такие, которые не надо вводить пользователю. Можно создать треугольник, вызвав конструктор без параметров:
Delta d; , и здесь создатся треугольник с какими-то готовыми значениями. Вот только какими - применительно к данному заданию большой вопрос. А если же значения вводит пользователь, то будет уже вызываться конструктор с параметрами: cin >> a >> b >> al; Delta d(a, b, al); .Да, в классе должны быть предусмотрены такие функции:
0
|
0 / 0 / 0
Регистрация: 27.03.2022
Сообщений: 27
|
|||||||||||
28.04.2022, 01:54 [ТС] | 34 | ||||||||||
В общем код я доделал, всё работает, выложу готовый сюда, глядишь кому пригодиться .
John Prick большое спасибо за помощь ) Есть еще одна просьба, помочь мне с следующим заданием. Извиняюсь заранее еще за это задание, у меня куча завалов и я не успеваю всё сам изучить поэтому приходиться здесь всё это дело бегло изучать .
Предыдущий код я полностью пересобрал из-за не структурированности и конфликтования программы из-за ошибок связанных с новыми методами и переменными , где были косяки поправил, чего не хватало добавил Добавлено через 8 минут там я косяк оставил на 102 строке в общем вот
0
|
28.04.2022, 01:54 | |
28.04.2022, 01:54 | |
Помогаю со студенческими работами здесь
34
Построить треугольник АBC по двум сторонам и углу между ними Найти максимальную площадь треугольника по двум его сторонам Описать базовый класс ТОЧКА, Описать произвольный класс ТРЕУГОЛЬНИК Описать класс «Треугольник», который определяет эту геометрическую фигуру посредством задания длин трех его сторон. Клас Найдите площадь треугольника по двум его сторонам и углу между ними Описать класс, представляющий треугольник. Ответить вписать треугольник в окружность данного радиуса Является ли треугольник остроугольным или тупоугольным по трем его сторонам Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |