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

Классы в С++

25.05.2012, 19:55. Просмотров 1701. Ответов 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
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
92
93
94
95
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
 
 
 
class rectangle
{ 
 private:
 float storona_a;
 float storona_b;
 public: 
 
 rectangle(float _a = 0, float _b=0);
 
 float get_storona_a() { return storona_a; }
 
 float get_storona_b() { return storona_b; }
 
 double get_ploshyad() { return storona_a * storona_b ; }
 
 double get_perimetr() { return 2 * (storona_a + storona_b); }
 
 bool set_storona_a(float _new_storona_a)
 {
     if (_new_storona_a < 0)
     return false;
     storona_a = _new_storona_a;
     return true;
 }
 
 bool set_storona_b(float _new_storona_b)
 {
     if (_new_storona_b < 0)
     return false;
     storona_b = _new_storona_b;
     return true;
 }
 
 
 
 void write_storona_a() { printf ("Storona a: %f \n", get_storona_a()); }
 void write_storona_b() { printf ("Storona b: %f \n", get_storona_b()); }
 
 void write_ploshyad() { printf ("Ploshyad: %f \n", get_ploshyad()); }
 void write_perimetr() { printf ("Perimetr: %f \n", get_perimetr()); }
};
 
rectangle::rectangle(float _a, float _b)
{
 if (_a > 0)
 storona_a = _a;
 else
 storona_a = 0;
 
 if (_b > 0)
 storona_b = _b;
 else
 storona_b = 0;
}
 
int main()
{
 rectangle MyRectangle;
 
 printf("Nachalnoe znachenie \n");
 
 MyRectangle.write_storona_a();
 MyRectangle.write_storona_b();
 
 printf("a = 10 b = 15 \n");
 
 MyRectangle.set_storona_a(10); 
 MyRectangle.set_storona_b(15);
 
 MyRectangle.write_storona_a();
 MyRectangle.write_storona_b();
 
 MyRectangle.write_ploshyad();
 MyRectangle.write_perimetr();
 
 printf(" a = -5 b = -10\n");
 
 MyRectangle.set_storona_a(-5); 
 MyRectangle.set_storona_b(-10);
 
 MyRectangle.write_storona_a();
 MyRectangle.write_storona_b();
 
 MyRectangle.write_ploshyad();
 MyRectangle.write_perimetr();
 
 getch();
}
Условие задачи мне не совсем понятно. Хотел узнать Правильно ли я ее решил. Заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2012, 19:55
Ответы с готовыми решениями:

Непонятна тема (Классы содержащие другие классы, как данные члены )
Изучаю книгу Джесс Либерти(в частности эту главу в данный момент) #include &lt;iostream&gt; class...

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

Как struct Queue и его операции превратить в классы, то есть нужно сделать тоже самое, но через классы
Как struct Queue и его операции превратить в классы, то есть нужно сделать тоже самое, но используя...

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

2
DU
1492 / 1138 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
25.05.2012, 20:41 2
ну можно сказать, что все правильно.
единственное, все методы, которые не меняют состояние класса желательно сделать константными. это все get и write функции.
можно еще добавить тотальную функцию write, которая бы печатала все параметры прямоугольника. чтобы не писать в мэине несколько штук. проще сразу одну позвать.
0
Форумчанин
Эксперт CЭксперт С++
8164 / 5012 / 1436
Регистрация: 29.11.2010
Сообщений: 13,455
25.05.2012, 20:58 3
Ну, во-первых, классы - это С++, а ты используешь ввод/вывод с С-ей. Во-вторых, библиотеки также надо использовать с С++. В третьих, полу-русские - полу-английские слова не есть хорошо. Сторона - side. Мы же не говорим Я тебя Love.
Ну а те, кто говорят -
горите в аду, маргиналы!
Название: post-44-13356890618501.jpg
Просмотров: 99

Размер: 23.9 Кб
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2012, 20:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.)
Уважаевые, помогите написать прожку на экзамене: Создать класс 3D фигура, и производные классы...

Классы возможностей(Mixin классы)
Не могу понять смысла использования mixin классов( это класс в котором есть только методы и нет...

Классы, включающие другие классы
Столкнулся вот с таким кодом: #include &lt;iostream&gt; class Point { public: void SetX(int x) ...

классы/дочерние классы/методы
помогите пожалуйста! надо что выводились только учебеники. чтоб былo через GetTip. h файл...


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

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

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