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

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

Войти
Регистрация
Восстановить пароль
 
mykl
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 68
#1

оздать класс "измерения" с открытыми данными высота и ширина - C++

19.01.2013, 23:35. Просмотров 480. Ответов 10
Метки нет (Все метки)

Создать класс "измерения" с открытыми данными высота и ширина. С помощью наследования создать четыре класса:

1. прямоугольник - для расчёта площади прямоугольника
2. прямоугольный треугольник - для расчёта площади прямоугольного треугольника.
3. цилиндр - для расчёта полной поверхности цилиндра
4. параболоид - для расчёта объёма параболоида.

В главной функции программы инициализировать классы следующими данными:
Прямоугольник: высота = 10.0 ширина = 5.0
Прямоугольный треугольник: высота = 4.0 ширина = 6.0
Цилиндр: высота = 3.0 ширина = 4.0
Параболоид: высота = 2.0 ширина = 10.0

В результате выполнения программы на экран выводится площадь прямоугольника, площадь прямоугольного треугольника, площадь полной поверхности цилиндра, объем параболоида.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2013, 23:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос оздать класс "измерения" с открытыми данными высота и ширина (C++):

Реализовать класс "Квадрат" с данными-членами "центр квадрата" и "сторона квадрата" - C++
Объявить класс по приведенному ниже заданию в соответствии с номером варианта и определить для него конструктор по умолчанию,...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс "вентилятор" содержащий в себе классы:...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Класс "Окружность" с данными центр и радиус окружности. - C++
Помогите, пожалуйста, решить задачу: Класс "Окружность" с данными центр и радиус окружности. Задание. 1. Объявить класс в...

Класс "одномерный массив" и методы для работы с его данными - C++
Описать класс одномерный массив, содержащий его элементы и их количество, а так же методы: вывода всех значений на экран, нахождения...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
SeaMonster
15 / 15 / 0
Регистрация: 31.12.2012
Сообщений: 101
20.01.2013, 00:10 #2
Намек на код
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
#include<stdio.h>
#include<math.h>
#include<conio.h>
 
 
class figure{
public:
 int x,y;
//// figure(const int arg1,const int arg2){x=arg1;y=arg2;}
 virtual double S()=0;
};
 
class f_bar:public figure{
public:
double S(){return x*y;}
};
 
class f_triangle:public figure{
 public:
 double S(){return ((double)(x)*y)/2;}
};
 
 
int main(){
f_bar b1;
f_triangle t1;
b1.x=10;b1.y=5;
t1.x=4;t1.y=6;
printf("\nPriamoygolnik parametri %d %d  S=%f",b1.x,b1.y,b1.S());
printf("\nTreygolnik parametri %d %d S=%f",t1.x,t1.y,t1.S());
getch();
return 0;
}
Это выводит для прямоугольника и прямоугольного треугольника. Чтобы добавить класс произвольной фигуры, надо просто добавить

C++
1
2
3
4
class <какая-то фигура>:public figure{
public:
double S(){return <ее формула вычисления площади>;}
};
mykl
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 68
20.01.2013, 00:22  [ТС] #3
SeaMonster, и за намёк огромное спасибо
SeaMonster
15 / 15 / 0
Регистрация: 31.12.2012
Сообщений: 101
20.01.2013, 00:25 #4
Ну реально я могу если надо дописать быстро для других фигур (только вот для параболоида формулу не помню, но явно найду) но вопрос - хоть этот код скомпилился у тебя? То, как выглядит - примерно устраивает или надо несравнимо более красивый вывод делать?
mykl
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 68
20.01.2013, 00:35  [ТС] #5
SeaMonster, если не трудно конечно, то буду рад видеть более красивый конечный вариант
просто ещё билеты на завтра штамповать нужно хаха пока даже и не компилил твой код, чуть позже собирался разобраться ночь длинная =)
SeaMonster
15 / 15 / 0
Регистрация: 31.12.2012
Сообщений: 101
20.01.2013, 00:37 #6
А опиши что надо. И кстати - параметры фигур так и должны остаться забитыми в программу или надо таки сделать их ввод пользователем?
mykl
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 68
20.01.2013, 00:47  [ТС] #7
SeaMonster, должны быть забитыми уже в программу по сути наверное просто тупо создать классы, чтобы всё посчитали и затем сразу выводили на экран результаты)) это как я понял..
SeaMonster
15 / 15 / 0
Регистрация: 31.12.2012
Сообщений: 101
20.01.2013, 01:01 #8
Вот примерно так устроит? Если уберу вывод многих нулей после запятой и напишу оставшиеся фигуры - то сгодится?
Миниатюры
оздать класс "измерения" с открытыми данными высота и ширина  
mykl
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 68
20.01.2013, 01:10  [ТС] #9
SeaMonster, вполне! а как ты сделал это уведомление? что за код?
SeaMonster
15 / 15 / 0
Регистрация: 31.12.2012
Сообщений: 101
20.01.2013, 01:31 #10
Это я только сегодня так научился...
код всего-лишь MessageBox(0,str," ",MB_OKCANCEL);
Требует windows.h вместо " " можно вписать любую строку, которая будет в Заголовке окна.

Чуть позже добавлю фигуры и все выложу.

Добавлено через 16 минут
Вот
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
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<windows.h>
 
 
class figure{
public:
 int x,y;
//// figure(const int arg1,const int arg2){x=arg1;y=arg2;}
 virtual double S()=0;
};
 
class f_bar:public figure{
public:
double S(){return x*y;}
};
 
class f_triangle:public figure{
 public:
 double S(){return ((double)(x)*y)/2;}
};
 
class f_cilinder:public figure{
 public:
  double S(){return 2*3.14*y*y+3.14*x*y*y;}
};
 
class f_parabol:public figure{
 public:
  double S(){return 0.5*3.14*y*y*x;}
};
 
int main(){
f_bar b1;
f_triangle t1;
f_cilinder c1;
f_parabol p1;
b1.x=10;b1.y=5;
t1.x=4;t1.y=6;
c1.x=2;c1.y=3;
p1.x=3;p1.y=5;
char str[1000];
sprintf(str,"\n\tПрямоугольник параметры %d %d\t  S=%.2f \n\tТреугольник параметры %d %d\t S=%.2f   \n\t Цилиндр параметры %d %d\t S=%.2f \n\tПараболоид параметры %d %d\t V=%.2f",b1.x,b1.y,b1.S(),t1.x,t1.y,t1.S(),c1.x,c1.y,c1.S(),p1.x,p1.y,p1.S());
////////sprintf(str,);
MessageBox(0,str," ",MB_OKCANCEL);
//////getch();
return 0;
}
Добавлено через 1 минуту
Гм. Еще параметры последних фигур надо поменять с от фонаря взятых на твои, но тебе все равно надо хоть раз откомпилировать
mykl
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 68
20.01.2013, 01:36  [ТС] #11
SeaMonster, сейчас попробую откомпилить) спасибо

Добавлено через 3 минуты
SeaMonster, откомпилил) а поменять параметры уже и сам думаю смогу и да, спасибо ещё огромное за "уведомление", буду пользоваться
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2013, 01:36
Привет! Вот еще темы с ответами:

Реализовать класс родительский класс "Пара чисел" и класс-наследник "Комплексное число" - C++
Ткма работы создать класс pair (пара чисел); определить метод перемножения полей и операцию сложения пар (a,b)+(c,d) =(a+b,c+d)...

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/". - C++
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание: создать класс комплексных чисел и ввести операции: &quot;+&quot;,...

Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол" - C++
кто то напишите пожалуйста, вот программа: наследуемым классом для комплексного числа объявить класс &quot;радиус-вектор&quot;, имеющий данные...

Класс "Графический объект", от которого будут наследоваться классы "круг" и "квадрат" - C++
Реализовать класс Графический объект от которого будут наследоваться классы &quot;круг&quot; и &quot;квадрат&quot;. Собственно, сам код, который был написан...


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

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

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