Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.89
MisterXXl
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 15
#1

Массивы объектов. Наследование - C++

14.06.2011, 18:43. Просмотров 2632. Ответов 26
Метки нет (Все метки)

Здравствуйте! Скоро экзамен, а я никак не могу решить эту задачу, может кто-то поможет?
Вот условие:
Создать класс окружность, член класса - R. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – площади, длины окружности. Создать производный класс – конус с высотой h, добавить в класс метод определения объема фигуры, перегрузить методы расчета площади и вывода сведений о фигуре. Написать программу, демонстрирующую работу с классом: дано N окружностей и M конусов, найти количество окружностей, у которых площадь меньше средней площади всех окружностей, и наибольший по объему конус.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2011, 18:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивы объектов. Наследование (C++):

Программирование на С++ с использованием классов. Массивы объектов. Наследование - C++
Помогите с программированием,пожалуйста!!!!!!!!!!!! Создать класс равносторонний треугольник, член класса - длина стороны. ...

Программирование на С++ с использованием классов. Массивы объектов. Наследование - C++
Создать класс окружность, член класса - R. Предусмотреть в классе методы вычисления и вывода сведений о фигуре – площади, длины...

Наследование,порождение объектов - C++
Помогите,пожалуйста.Задача состоит в том,что даны точка->квадрат->параллелограмм одно порождается от...

Задача на связность объектов и наследование - C++
Добрый вечер. Помогите с задачей. Нужно написать классы Товар - Категория - Заказ - Покупатель, максимально используя наследование. У...

Наследование static атрибута(хранение количества объектов наследуемых классов) - C++
Есть абстрактный класс base, от него наследуются 3 класса child1 child2 child3. Создается множество объектов одного из этих трех классов, в...

Массивы и наследование - C++
Мальчики, помогите, пожалуйста!!! Реализовать класс Money для работы с денежными суммами как производный класс от класса Array, используя...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
15.06.2011, 09:41 #16
просто измени на main, это же какой-то майкрософтовский define вроде wmain, а TCHAR на char или вообще аргументы сотри они здесь не нужны
1
MisterXXl
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 15
15.06.2011, 09:55  [ТС] #17
Готово, новая ошибка
C++
1
 \C++\project4Sale\circle.h|11|error: expected unqualified-id before numeric constant|
Сама строчка с ошибкой:
const double M_PI = 3.14;
А тут что исправить?
0
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
15.06.2011, 10:03 #18
M_PI видимо где-то у тебя в math.h определено, хотя никакого пересечения быть не должно. Я же в отдельный namespace его вынес. Короче M_PI переименуй
0
MisterXXl
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 15
15.06.2011, 10:14  [ТС] #19
pito211, ты имеешь ввиду переименовать, например, в K_PI = 3.14? Я так сделал выдал новую ошибку:
\C++\project4Sale\main.cpp|71|error: call of overloaded 'Circle(int&)' is ambiguous|
ээх наверно мне не исправить эту задачу((( Твоё решение хоть грамотное, оформлено правильно, но я не всё в нём понимаю и исправить ошибки не смогу. Можешь посмотреть на моё решение, которое я указал в 13 посте, и указать на ошибки, и сказать как их исправить?
0
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
15.06.2011, 10:32 #20
цикл выглядит нормально, только формула объёма у конуса не такая

Добавлено через 7 минут
скажи преподу, что писал в VS, хрен с ним что не компилится, главное код. А он вроде бы нормально структурирован и предельно ясен, это уже причуды g++, попробуй вынести эту константу в глобальную область, не знаю короче чё ещё предложить
0
MisterXXl
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 15
15.06.2011, 10:38  [ТС] #21
ок. формулу объёма исправил, походу 5 класс прошёл мимо. Как написать, чтобы выводило "количество площадей, которое меньше средней площади". Пока выводит только среднюю площадь. Нужно вводить доп. переменную? если да, то что дальше? И потом, я так понял, нужно разделить программу на части: окружность, конус, сама прога, так?

Добавлено через 3 минуты
скажи преподу, что писал в VS, хрен с ним что не компилится, главное код.
не такая фишка не прокатит, он нам говорил , что прогу надо делать codeblocks, мы с VS не работаем. Да и потом надо объяснять как делал, проверять...
0
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
15.06.2011, 10:40 #22
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
size_t circle_less              = 0; //Количество окружностей, у которых площадь меньше средней площади
        size_t circle_greater   = 0; //Количество окружностей, у которых площадь больше средней площади
 
        for (int it = 0; it != N; it++)
        {
                if (circle_arr[it] <= avg_circle_circuit)
                {
                        circle_less++;
                }
                else
                {
                        circle_greater++;
                }
        }
ну и всё, выводи circle_less или circle_greater смотря чё тебе нужно

Добавлено через 2 минуты
Цитата Сообщение от MisterXXl Посмотреть сообщение
И потом, я так понял, нужно разделить программу на части
смотря какие у вас требования, технически и так и так можно, но удобнее разделять
1
MisterXXl
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 15
15.06.2011, 10:46  [ТС] #23
Почти, одна 1 ошибка:
\C++\4\main.cpp||In function 'int main()':|
\C++\4\main.cpp|171|error: no match for 'operator<=' in 'circle_arr[it] <= avg_circle_circuit'|
||=== Build finished: 1 errors, 0 warnings ===|
Извиняюсь, если уже надоел, просто обратиться больше не к кому.
0
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
15.06.2011, 10:48 #24
circle_arr[it].get_r()
1
MisterXXl
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 15
15.06.2011, 10:57  [ТС] #25
circle_arr[it].get_r()
а это после чего писать? Можно, пожалуйста, по подробней...
0
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
15.06.2011, 10:59 #26
if (circle_arr[it].get_r() <= avg_circle_circuit)
0
MisterXXl
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 15
15.06.2011, 11:16  [ТС] #27
Всё сделал как ты говорил, но опять косяк. Программа запустилась, но если выводить "circle_less" на экран выводит кол-во попыток (кол-во радиусов), а если выводить "circle_greater" на экран выводит нуль.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2011, 11:16
Привет! Вот еще темы с ответами:

Наследование класса. Массивы и их суммирование - C++
Мне нужно создать класc Set в котором реализовать 2 метода setSet и getSet на первый подается массив, а второй его выводит, так же сделать...

Массивы объектов - C++
у меня в классе имеется конструктор с параметрами. как мне создать массив объектов, вызывая при этом этот конструктор? к примеру Neuron...

Массивы объектов - C++
class CPhone { int a,b; public: CPhone(int a1,int b1):a(a1),b(b1){} }; CPhone tel={12,23,34,45}; Какое значение имеет tel.b? ...

Массивы объектов в С++ - C++
Как работать с массивом объектов (классы)? Приведите пожалуйста какой-то простой пример . Заранее огромное спасибо .


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.06.2011, 11:16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru