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

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

Восстановить пароль Регистрация
 
mykl
 Аватар для mykl
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 68
19.01.2013, 23:35     оздать класс "измерения" с открытыми данными высота и ширина #1
Создать класс "измерения" с открытыми данными высота и ширина. С помощью наследования создать четыре класса:

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++
Ширина (высота) окна winapi C++
Как динамически иницилизировать char * "статическими" данными? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SeaMonster
 Аватар для 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
 Аватар для mykl
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 68
20.01.2013, 00:22  [ТС]     оздать класс "измерения" с открытыми данными высота и ширина #3
SeaMonster, и за намёк огромное спасибо
SeaMonster
 Аватар для SeaMonster
15 / 15 / 0
Регистрация: 31.12.2012
Сообщений: 101
20.01.2013, 00:25     оздать класс "измерения" с открытыми данными высота и ширина #4
Ну реально я могу если надо дописать быстро для других фигур (только вот для параболоида формулу не помню, но явно найду) но вопрос - хоть этот код скомпилился у тебя? То, как выглядит - примерно устраивает или надо несравнимо более красивый вывод делать?
mykl
 Аватар для mykl
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 68
20.01.2013, 00:35  [ТС]     оздать класс "измерения" с открытыми данными высота и ширина #5
SeaMonster, если не трудно конечно, то буду рад видеть более красивый конечный вариант
просто ещё билеты на завтра штамповать нужно хаха пока даже и не компилил твой код, чуть позже собирался разобраться ночь длинная =)
SeaMonster
 Аватар для SeaMonster
15 / 15 / 0
Регистрация: 31.12.2012
Сообщений: 101
20.01.2013, 00:37     оздать класс "измерения" с открытыми данными высота и ширина #6
А опиши что надо. И кстати - параметры фигур так и должны остаться забитыми в программу или надо таки сделать их ввод пользователем?
mykl
 Аватар для mykl
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 68
20.01.2013, 00:47  [ТС]     оздать класс "измерения" с открытыми данными высота и ширина #7
SeaMonster, должны быть забитыми уже в программу по сути наверное просто тупо создать классы, чтобы всё посчитали и затем сразу выводили на экран результаты)) это как я понял..
SeaMonster
 Аватар для SeaMonster
15 / 15 / 0
Регистрация: 31.12.2012
Сообщений: 101
20.01.2013, 01:01     оздать класс "измерения" с открытыми данными высота и ширина #8
Вот примерно так устроит? Если уберу вывод многих нулей после запятой и напишу оставшиеся фигуры - то сгодится?
Миниатюры
оздать класс "измерения" с открытыми данными высота и ширина  
mykl
 Аватар для mykl
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 68
20.01.2013, 01:10  [ТС]     оздать класс "измерения" с открытыми данными высота и ширина #9
SeaMonster, вполне! а как ты сделал это уведомление? что за код?
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 минуту
Гм. Еще параметры последних фигур надо поменять с от фонаря взятых на твои, но тебе все равно надо хоть раз откомпилировать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2013, 01:36     оздать класс "измерения" с открытыми данными высота и ширина
Еще ссылки по теме:

Класс "Окружность" с данными центр и радиус окружности. C++
C++ Иерархия: класс "карта", "колода карт"
C++ Составить класс "Поезд", "Вокзал"

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

Или воспользуйтесь поиском по форуму:
mykl
 Аватар для mykl
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 68
20.01.2013, 01:36  [ТС]     оздать класс "измерения" с открытыми данными высота и ширина #11
SeaMonster, сейчас попробую откомпилить) спасибо

Добавлено через 3 минуты
SeaMonster, откомпилил) а поменять параметры уже и сам думаю смогу и да, спасибо ещё огромное за "уведомление", буду пользоваться
Yandex
Объявления
20.01.2013, 01:36     оздать класс "измерения" с открытыми данными высота и ширина
Ответ Создать тему
Опции темы

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