0 / 0 / 0
Регистрация: 27.10.2014
Сообщений: 63
1

Создать класс CelestialBody

17.06.2015, 18:53. Показов 886. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать класс CelestialBody(небесное тело) , который содержит следующие элементы:
-поле"масса" float Mass;
-поле "радиус" float Radius;
-метод получения массы int GetMass();
-метод получения радиуса int GetRadius();
-метод расчета густоты вещества небесного тела float GetDensity();
-конструктор с параметрами CelestialBody(float Mass, float Radius);

Создать класс Planet, который содержит элементы:
-поле "период вращения вокруг оси" float RotatePeriod;
-поле"период вращения вокруг центра системы" float RotationPeriod;
-расстояние до центра системы float Distance;
-метод получения скорости вращения вокруг оси float GetRotatePeriod();
-метод получения скорости вращения вокруг центра системы float GetRotationPeriod();
-метод получения расстояния до центра системы float GetDistance();
-конструктор с параметрами Planet(float Mass, float Radius, float RotatePeriod, float RotationPeriod, float Distance);
В классе CelestialBody перезагрузить оператор +(бинарный,дружественный оператор), новое действие- слияние двух тел(получение нового с суммарной массой и радиусом).

вот то что у меня на данный момент получилось:

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
82
83
84
85
#include <cmath>
#include <iostream>
#include <locale.h>
 
using namespace std;
 
class Planet;
class CelestialBody;
 
class CelestialBody{
private:
 
float Mass;
float Radius;
public:
CelestialBody(float mass, float radius){ //конструктор
this->Mass = mass;
this->Radius = radius;
 
}
int GetMass(){ //получение массы
return int(this->Mass);
}
 
int GetRadius(){ //радиуса
return int(this->Radius);
}
 
float GetDensity(){
//рассчитываем плотность
float v = 3 / 4 * (3, 14 * (pow(Radius, 3)));
return Mass / v;
}
 
void CelestialBody::operator+(CelestialBody t){ //перегрузка оператора +
this->Mass += t.Mass;
this->Radius += t.Radius;
}
};
 
class Planet {
private:
float RotatePeriod; //период вращения вокруг оси
float RotationPeriod; //период вращения вокруг центра системы
float Distance; //расстояние до центра системы
float mass, radius;
public:
 
Planet(float Mass, float Radius, float RotatePeriod, float RotationPeriod, float Distance){ //конструктор
this->mass=Mass;
this->radius=Radius;
this->RotatePeriod=RotatePeriod;
this->RotationPeriod=RotationPeriod;
this->Distance=Distance;
}
 
float GetRotatePeriod(){ //получение скорости вращения вокруг своей оси
float diam = radius * 2;
return diam / RotatePeriod;;
}
 
float GetRotationPeriod(){ //скорость вращения вокруг центра или как там
return Distance / RotationPeriod;
}
 
float GetDistance(){
return this->Distance;
}
};
 
int main(){
setlocale(LC_ALL, "Russian");
//Здесь должно быть меню для ввода значений
 
CelestialBody celistia(8776.5,1200.6); //сюда вместо цифр(8776.5,1200.6) передать считанные значения(смотреть в конструктор этого класса)
CelestialBody cel2(4776.5, 2200.6);
//показываем перегрузку оператора +
cout << "До слияния двух тел: " << celistia.GetMass() << "Радиус" << celistia.GetRadius()<<endl;
celistia + cel2;
cout << "После слияния двух тел: " << celistia.GetMass() << "Радиус" << celistia.GetRadius()<<endl;
//закончили показ перегрузки
Planet planet(celistia.GetMass(), celistia.GetRadius(), 50.3, 467, 523.7); //после celistia.GetRadius() вместо этих цифр тоже должны передаваться переменные со считанными значениями
cout <<"Скорость вращения планеты вокруг своей оси: " <<planet.GetRotatePeriod(); //понапихать разных методов, которые будут выводить вычисленные значения
system("PAUSE");
}
но программа еще не дописана, нужно сделать еще меню для ввода значений и что бы с введенными значениями проводились расчеты и вот с этим то как раз проблема!(

Пожалуйста помогите !!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2015, 18:53
Ответы с готовыми решениями:

Создать класс CelestialBody
Кто шарит в С++ помогите очень нужно, Завтра ЗАЧЕТ формулы придумать самостоятельно Создать...

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ...
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени,...

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать...

Создать класс - данные - абстрактный базовый класс. Создать производные классы
Всем привет! У меня вот такая проблема.... Создать класс - данные - абстрактный базовый класс....

1
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
17.06.2015, 18:56 2
В этой теме всё подробно рассказано. Классы "Небесное тело" и "Планета"
Чем она тебя не устраивает? Думаешь, новую тему будут больше читать?
0
17.06.2015, 18:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2015, 18:56
Помогаю со студенческими работами здесь

Создать класс Элемент списка (Node), а затем класс Список (List)
Задание: Создать класс Элемент списка (Node), а затем класс Список (List). В зависимости от...

Создать класс Pair(пара чисел) и класс-наследник Fraction
Создать класс Pair (пара чисел); определить методы изменения полей и сравнения пар: пара p1 больше...

Создать класс СПИСОК целых чисел. Разработать класс СТЕК
&quot;Создать класс СПИСОК целых чисел. Разработать класс СТЕК, который вмещает объект класса СПИСОК....

Создать класс Point и производный класс ColoredPoint (цветная точка)
Создайте класс Point (точка на плоскости), характеризующийся двумя координатами. Создайте...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru