Добавил:
vvrstcnho
Рад, если кому-то помог
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы С++ (для ИВТ) / Готовые лабы С++ / Лаба1 / Laba 1 (10)
.cpp#include <iostream>
#include <cmath>
#include <windows.h>
using namespace std;
const double PI = 3.14159265358979323846;
class Point {
private:
int x, y;
bool visible;
char color;
public:
Point(int x = 0, int y = 0, char color = 'W')
: x(x), y(y), visible(true), color(color) {
cout << "Создана точка в координатах (" << x << ", " << y << ")" << endl;
}
void setPosition(int newX, int newY) {
x = newX;
y = newY;
cout << "Координаты точки изменены на (" << x << ", " << y << ")" << endl;
}
void setColor(char newColor) {
color = newColor;
cout << "Цвет точки изменен на " << newColor << endl;
}
void show() {
visible = true;
cout << "Точка отображена в (" << x << ", " << y
<< ") цветом " << color << endl;
}
void hide() {
visible = false;
cout << "Точка скрыта" << endl;
}
bool isVisible() {
cout << "Точка " << (visible ? "видима" : "невидима") << endl;
return visible;
}
void rotate(double angle) {
double angle_rad = angle * PI / 180.0;
double newX = x * cos(angle_rad) - y * sin(angle_rad);
double newY = x * sin(angle_rad) + y * cos(angle_rad);
x = round(newX);
y = round(newY);
cout << "Точка повернута на " << angle << "°. Новые координаты: ("
<< x << ", " << y << ")" << endl;
}
int getX() { return x; }
int getY() { return y; }
};
int main() {
SetConsoleOutputCP(65001);
Point p(10, 5, 'R');
cout << "=== Работа с точкой на экране ===" << endl;
p.show();
p.isVisible();
p.rotate(45);
cout << "Текущие координаты: (" << p.getX() << ", " << p.getY() << ")" << endl;
p.hide();
p.isVisible();
p.setPosition(20, 30);
p.setColor('B');
p.show();
return 0;
}
Соседние файлы в папке Лаба1
