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

Описать класс "Конус" - C++

Восстановить пароль Регистрация
 
polya
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 26
25.08.2012, 09:44     Описать класс "Конус" #1
Язык С

1. Опишите класс "Конус"
Данные класса: координаты центра основания, радиус основания, высота.
Конструкторы класса: конструктор по умолчанию, конструктор конуса с центром в начале координат, конструктор произвольного конуса.
2. Определите методы:
ввод конуса, вывод на экран, определение площади поверхности, определение объёма конуса.
3.Объявите конус с центром в начале координат и произвольный конуса как статические объекты созданного типа, найдите площадь поверхности и объём каждого.
4. Объявите динамический объект по умолчанию, введите данные и выведите на экран.
5. Объявите массив из 2-3 конусов. Найдите способ присвоить им значения при создании объектов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
25.08.2012, 11:27     Описать класс "Конус" #2
В Си нет классов.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
25.08.2012, 12:21     Описать класс "Конус" #3

Не по теме:

> В Си нет классов.
Это не мешает сделать struct Cone и пачку методов makeCone(), makeCone_origin(), deleteCone(), getConeVolume() и т. п.


А на самом деле 90% что это ошибка в терминологии, не более.
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
25.08.2012, 17:43     Описать класс "Конус" #4
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Это не мешает сделать struct Cone и пачку методов makeCone(), makeCone_origin(), deleteCone(), getConeVolume() и т. п.
Я по Вашему тупой? Я знаю как и что можно сделать, но если ТС пишет что ему нужны классы в Си, значит ему нужны классы в Си, т.к. классов в Си из покон веков не было, значит задание не корректное, и додумывать за ТС считаю глупым.
polya
0 / 0 / 0
Регистрация: 27.05.2012
Сообщений: 26
25.08.2012, 23:52  [ТС]     Описать класс "Конус" #5
ну тут мой косяк, наверное..
напишите, кто может, в С++, а я потом под себя исправлю
TopLoader
 Аватар для TopLoader
41 / 41 / 4
Регистрация: 10.12.2011
Сообщений: 128
26.08.2012, 01:25     Описать класс "Конус" #6
polya, класс конуса на C++:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// Класс конуса.
#include <iostream>
#include <cmath>
#include <windows.h>
using namespace std;
 
const double pi = 3.14159265;
 
// Класс конуса.
class Cone {
        double x, y, z;        // трехмерные координаты
        double radius;         // радиус
        double height;         // высота
    public:
        // Конструктор по умолчанию
        Cone() { x=y=z=radius=height=0; }
        // Конструктор с центром в начале координат
        Cone(double r, double h) {
            x = y = z = 0.0;
            radius = r;
            height = h;
        }
        // Конструктор для Cone
        Cone(double a, double b, double c, double r, double h) {
            x = a;
            y = b;
            z = c;
            radius = r;
            height = h;
        }
 
        // Функции доступа
        void setCoordinate(double a, double b, double c) { x = a; y = b; z = c; }
        void setRadius(double r) { radius = r; }
        void setHeight(double h) { height = h; }
        double getRadius() { return radius; }
        double getHeight() { return height; }
 
        // Площадь полной поверхности
        double area() {
            double l = sqrt(height*height + radius*radius);
            return pi*radius*(radius+l);
        }
        // Объем
        double volume() {
            return pi*radius*radius*height/3;
        }
 
        // Перегрузка оператора вывода
        friend ostream &operator<<(ostream &stream, Cone obj);
};
 
// Вывод данных конуса
ostream &operator<<(ostream &stream, Cone obj) {
    stream << "(" << obj.x << "; ";
    stream << obj.y << "; ";
    stream << obj.z << ") ";
    stream << "r=" << obj.radius << " ";
    stream << "h=" << obj.height << "\n";
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "Russian");
 
    Cone c1(3, 7);              // Конус с центром в начале координат с радиусом 3 и выотой 7
    Cone c2(1, 2, 3, 5, 10);    // Произвольный конус
 
    cout << "Конус 1: " << c1;
    cout << "Площадь поверхности: " << c1.area() << "\n";
    cout << "Объем: " << c1.volume() << "\n";
 
    cout << "Конус 2: " << c2;
    cout << "Площадь поверхности: " << c2.area() << "\n";
    cout << "Объем: " << c2.volume() << "\n";
 
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2012, 11:30     Описать класс "Конус"
Еще ссылки по теме:

C++ Описать класс "вещь", описывающий габариты и вес предмета
C++ Описать класс "двухсторонняя очередь"
C++ Описать класс "множество" вещественных чисел, позволяющий выполнять основные операции

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

Или воспользуйтесь поиском по форуму:
RosyRose
0 / 0 / 0
Регистрация: 28.07.2012
Сообщений: 23
29.08.2012, 11:30     Описать класс "Конус" #7
4. Объявите динамический объект по умолчанию, введите данные и выведите на экран.

где выполняется создание динамического объекта?

5. Объявите массив из 2-3 конусов.
Найдите способ присвоить им значения при создании объектов.

Какой способ нужно применить?
Yandex
Объявления
29.08.2012, 11:30     Описать класс "Конус"
Ответ Создать тему
Опции темы

Текущее время: 12:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru