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

Классы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разжуйте определенную часть написания программы. В частности enum. http://www.cyberforum.ru/cpp-beginners/thread399956.html
Дело в том, что нужно написать программу, в которой вводиться с клавиатуры Название месяца на английском, а выводится у кого из друзей и когда выводится день рождения (текст вообщем). Сложность...
C++ создание string в namespece std В руки попала программа. Необходимо вместо фиксированных аргументов "to be or not to be", "beer", "bread", "milk" брать какой-нибудь string. А создать его не могу. Вроде и библиотека подключена...... http://www.cyberforum.ru/cpp-beginners/thread399955.html
Построение таблицы значений функции y=f(x) для x на отрезке [a;b] с шагом h C++
Помогите, пожалуйста, исправить следующую ситуацию: при a=-2, b=1 и h=0.3 на экран не выводится значение функции в крайней точке отрезка f(1) :gsad: #include <iostream> #include <cmath> using...
Найти в массиве тройку смежных чисел с максимальной суммой. C++
считает только сумму первых трех элементов, а должен считать макс.сумму трех смежных элементов. //---------------------------------------------------------------------------...
C++ программа, которая обрабатывает текстовый файл http://www.cyberforum.ru/cpp-beginners/thread399933.html
Здравствуйте! помогите пожалуйста написать программу (чистый С), которая: 1. считывает содержание текстового файла input.txt; 2. сохраняет только слова (которые состоят исключительно из букв) и их...
C++ Сортировка Студентам задания 9_2 на методы сортировки массивов Составить программу упорядочения первых N, N ≤12, элементов массива X. Вид сортировки, а также метод сортировки и операторы внешнего и внутреннего... подробнее

Показать сообщение отдельно
liza_93
0 / 0 / 0
Регистрация: 10.11.2011
Сообщений: 8

Классы - C++

06.12.2011, 03:26. Просмотров 452. Ответов 3
Метки (Все метки)

Условие задачи
Построить систему классов для описания плоских геометрических фигур: круг, квадрат, прямоугольник. Предусмотреть методы для создания объектов, перемещения на плоскости, изменения размеров.Программа должна содержать меню, позволяющее осуществить проверку всех методов классов.

В интернете нашла похожую решенную задачку, но в ней много лишнего по сравнению с моим заданием, поэтому у меня по ней есть вопросы:
1) Ниже приведен код. Что означает запись double a[4][2] в 7 строчке кода? Зачем задается массив?
2) Как сделать чтобы выводилась соответствующая ошибка в меню выбора фигуры (так как если вводить цифры больше 3 или меньше 1 то программа начинает выполняться дальше, а должна обратно возвращаться в меню выбора фигуры. Т.е. сделать проверку условия nf<1, Nf>3)

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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#include <iostream.h>
#include <stdlib.h>
#include <math.h>
#include<stdio.h>
class PGF{
double a[4][2], n, ax, ay, axn,ayn,axn1,axn2,ayn1,ayn2, cx, cy,  i;
double r;
int nf;
public:
void Vibor();
void Vvod();
void Perem();
void Izm_raz();
void Vrash();
void Vivod();
};
void main()
{ PGF a;
clrscr();
a.Vibor();
a.Vvod();
a.Vivod();
a.Perem();
a.Vivod();
a.Izm_raz();
a.Vivod();
a.Vrash();
a.Vivod();
}
//выбор фигуры
void PGF::Vibor()
{
cout<<endl;
cout<<"Выберите фигуру: круг-1, квадрат-2, прямоугольник-3";
cout<<endl;
cin>>nf;
}
//создание
void PGF::Vvod()
{
if (nf==1)
{ cout<<endl;cout<<"Введите параметры круга \n";
cout<<" cx=";cin>>cx;cout<<" cy=";cin>>cy;cout<<" r=";cin>>r;
cout<<endl;
}
if (nf==2)
{
cout<<endl;cout<<"Введите параметры квадрата ";cout<<endl;
cout<<"Координаты центра:\n cx=";cin>>cx;
cout<<" cy=";cin>>cy;
cout<<"Вектор от центра до вершины:\n";
cout<<" ax=";cin>>ax;cout<<" ay=";cin>>ay;
}
if (nf==3)
{
cout<<endl;cout<<"Введите параметры прямоугольника";cout<<endl;
cout<<"Координаты центра:\n cx=";cin>>cx;
cout<<" cy=";cin>>cy;
cout<<"Вектор от центра до вершины:\n";
cout<<" ax=";cin>>ax;cout<<" ay=";cin>>ay;
}
}
//вывод
void PGF::Vivod()
{
cout<<"Параметры фигуры";
cout<<endl;
if (nf==1)
{cout<<endl;cout<<"cx="<<cx<<" cy="<<cy<<" r="<<r;
cout<<endl;
}
if (nf==2)
{
cout<<endl;
cout<<"cx="<<cx<<" cy="<<cy<<" ax="<<ax<<" ay="<<ay;
cout<<endl;cout<<endl;
}
if (nf==3)
{
cout<<endl;
cout<<"cx="<<cx<<" cy="<<cy<<" ax="<<ax<<" ay="<<ay;
cout<<endl;
}
}
//перемещение на плоскости
void PGF::Perem()
{ int sx,sy;
cout<<"Введите координаты смещения фигуры ";
cout <<endl;
cout<<"Смещение по X= ";cin>>sx;
cout<<"Смещение по Y= ";cin>>sy;
cx=cx+sx;cy=cy+sy;
ax=ax+sx;ay=ay+sy;
}
//изменение размеров
void PGF::Izm_raz()
{
double s,Ax,Ay,Bx,By,Cx,Cy,k,d,AB,BC;
if (nf==1)
{
cout<<"Коэффициент изменения радиуса круга= ";
cout<<endl;
cin>>k;
r=r*k;
}
if (nf==2)
{
cout<<"Коэффициент изменения расстояния до вершины квадрата= ";
cout<<endl;
cin>>k;
ax=ax-cx;
ay=ay-cy;
ax=ax*k;
ay=ay*k;
ax=ax+cx;
ay=ay+cy;
}
if (nf==3)
{
cout<<"Коэффициент изменения расстояния до вершины прямоугольника= ";
cout<<endl;
cin>>k;
ax=ax-cx;
ay=ay-cy;
ax=ax*k;
ay=ay*k;
ax=ax+cx;
ay=ay+cy;
}
}
void PGF::Vrash()
{ double f,co,si;
cout<<"Угол поворота фигуры ";
cin>>f;
f=f*M_PI/180;
if(nf==2 || nf==3)
{
ax=ax-cx;
ay=ay-cy;
co=cos(f);
si=sin(f);
axn1=ax*co;
axn2=ay*si;
axn=axn1-axn2;
ayn1=ax*si;
ayn2=ay*co;
ayn=ayn1+ayn2;
ax=axn+cx;
ay=ayn+cy;
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru