Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
MariaUst
0 / 0 / 0
Регистрация: 16.03.2014
Сообщений: 15
1

Написать программу, которая будет использовать класс Rectangular с данными прямоугольника

16.03.2014, 16:58. Просмотров 397. Ответов 0
Метки нет (Все метки)

Добрый день!

Есть задача, которую надо решить через классы. Не смогла разобраться толком с ними, с созданием файла .h и в общем. Решила как смогла, ибо завтра сдавать дз, код рабочий, но можно ли как-то исправить его чтобы были соблюдены описанные требования к классам? Описание задачи может быть неточным (в переводе).

α) Написать программу, которая будет использовать класс Rectangular с данными прямоугольника. Переменные width и height содержат данные сторон прямоугольника и принадлежат классу.

Написать
α) constructor который не принимает аргументов
β) constructorкоторый принимает 2 аргумента
γ) setWidth, setHeight которые принимают две стороны прямоугольника
δ) getWidth, getHeight которые возвращают две стороны прямоугольника
ε) getArea которое считает площадь
στ) getPerimeter которое считает периметр

Далее написать код, который работает на два прямоугольника (10,7) и (10,12). Данные первого заданы изначально, второго – задаются setWidth и setHeight. Результат – вывод на экран их площадей

β) Написать класс квадрат Square, является расширением класса rectangle. Написать constructor который будет получать значение стороны квадрата.

Далее программа должна работать для квадратов со сторонами 10 и 7. Также выводить их площадь и периметр.

γ) Добавить класс Box- куб и constructor, который будет получать три параметра куба (длину, высоту, ширину)
getVolume и getArea используются из родительского класса. scale(double f) умножает параметры (размеры) куба на f.
В программе – 2 куба (10,10,10) и (7,8,3).
На экран выводится объем куба, площади его поверхностей. Затем вызывается scale – коэффициенты 0,5 и 2. На экран выводятся новые данные.

Итог: 1 программа с 1 main, 3 .cpp и 3 .h (1 на каждый класс (rectangle, squre, box))

А вот и сам код:
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
86
87
88
89
90
91
#include <iostream>
#include <conio.h>
#include <cstdlib>
 
using namespace std;
 
class percalc
{
  public:
  void per(int a);
  void per(int a,int b);
};
 
void percalc::per(int a)
{
    cout<<"\n  Perimetr of Square ="<<(4*a);
}
 
void percalc::per(int a, int b)
{
     cout<<"\n  Perimetr of Rectangle="<<((a+b)*2);
}
 
class areacalc
{
  public:
  void area(int a);
  void area(int a,int b);
  void area(int a,int b,int d);
};
 
void areacalc::area(int a)
{
    cout<<"\n  Area of Square="<<(a*a);
}
 
void areacalc::area(int a,int b)
{
    cout<<"\n  Area of Rectangle="<<(a*b);
}
 
void volume (int a,int b,int c)
{
    cout<<"\n  Volume of box="<<a*b*c;
}
 
void area (int a, int b, int c)
{
    cout<<"\n  Area of the first side of box="<<a*b;
    cout<<"\n  Area of the second side of box="<<a*c;
    cout<<"\n  Area of the third side of box="<<c*b;
    cout<<"\n  Area of all sides of box="<<2*a*b+2*a*c+2*b*c;
}
 
void scale (int a,int b, int c, float sc)
{
    area (a*sc, b*sc, c*sc);
    volume (a*sc, b*sc, c*sc);
}
main()
{
areacalc ac;
percalc pc;
   cout<<"Rectangle with sides 10 and 7"<<endl;
   ac.area(10,7);
   pc.per (10,7);
   cout<<"\n\n\nRectangle with sides 10 and 12"<<endl;
   ac.area(10,12);
   pc.per (10,12);
   cout<<"\n\n\n\nSquare with side 10"<<endl;
   ac.area(10);
   pc.per (10);
   cout<<"\n\n\nSquare with side 7"<<endl;
   ac.area(7);
   pc.per (7);
   cout<<"\n\n\n\nCube with side 10"<<endl;
   area (10,10,10);
   volume(10,10,10);
   cout<<"\n\n\n\nScale 0,5"<<endl;
   scale (10,10,10,0.5);
   cout<<"\n\n\n\nScale 2"<<endl;
   scale (10,10,10,2);
   cout<<"\n\n\nBox with sides 7, 8 and 3"<<endl;
   area (7,8,3);
   volume(7,8,3);
   cout<<"\n\n\nScale 0,5"<<endl;
   scale (7,8,3,0.5);
   cout<<"\n\n\nScale 2"<<endl;
   scale (7,8,3,2);
getch();
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2014, 16:58
Ответы с готовыми решениями:

разработать программу, которая будет использовать структуру в С
1 . создать программу, которая будет использовать структуру human с элементами surname , name , age...

Написать программу которая будет разделять число
Помогите написать программу которая будет разделять число. Например мы уводим число 12546 програма...

Написать программу, которая будет считать двойные интегралы
Ребята помогите с заданием , нужно написать программу которая будет считать двойные интегралы,...

Написать программу, которая будет выводить елочку из символов
Нужно написать программу которая будет выводить елочку из символов ^ ^ ^^^ ^^^^^ по...

написать программу, которая будет переворачивать введенное предложение
Добрый день, форумчане! Совсем недавно начал программировать на спп, и тут появились некоторые...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2014, 16:58

Написать программу, которая будет изменять элементы массива
Дан целочисленный массив из 25 элементов. Если элемент чётный, то прибавить к нему первый, если...

Что использовать, чтобы написать программу, которая будет отправлять сообщение в ВК с текстом
Что использовать, чтобы написать программу, которая будет отправлять сообщение в ВК с текстом ,...

Написать функцию Факториал и программу, которая будет использовать эту функцию
Суть программы: Нужно написать функцию Факториал и программу.ю которая будет использовать эту...


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

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

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