Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <cmath>
- using namespace std;
- struct Point{
- int X,Y;
- };
- class point{
- private:
- Point dot;
- public:
- point(int n){};
- point(){
- while(true){
- cout<<"Vvedite koordinatu X :";
- cin>>dot.X;
- if(cin.good())
- break;
- else
- {
- cin.clear();
- cout<<"Nevernuy vvod"<<endl;
- cin.ignore(100,'\n');
- }
- }
- while(true){
- cout<<"Vvedite koordinatu Y :";
- cin>>dot.Y;
- if(cin.good())
- break;
- else
- {
- cin.clear();
- cout<<"Nevernuy vvod"<<endl;
- cin.ignore(100,'\n');
- }
- }
- }
- void toX(int n){
- dot.X +=n;
- }
- void toY(int n){
- dot.Y +=n;
- }
- float doNachala(){
- return sqrt(pow(0.0-dot.X,2)+pow(0.0-dot.Y,2));
- //return abs(dot.X - dot.Y);
- }
- float doTochki(point &a){
- return sqrt(pow(a.getX() - this->dot.X,2) + pow(a.getY() - this->dot.Y,2));
- //return abs(a.dot.X + a.dot.Y - (dot.X + dot.Y));
- }
- float getX(){return (float)dot.X;}
- float getY(){return (float)dot.Y;}
- void toPolar(){
- cout<<"Polyarnuy radis r = "<<sqrt(pow((float)dot.X,2)+pow((float)dot.Y,2))<<endl;
- cout<<"Polyarnuy ugol = "<<asin(sin((float)dot.Y/(sqrt(pow((float)dot.X,2)+pow((float)dot.Y,2)))))<<endl;
- }
- bool operator==(point &a){
- if(dot.X == a.getX() && dot.Y == a.getY())
- return true;
- else
- return false;
- }
- };
- void main () {
- point a,b,select(0),unselect(0);
- char ch,dot;
- int sel;
- do{
- do{
- system("cls");
- cout<<"Vuberite tochku s kotoroy vu xotite rabotat,na angliyskoy rasskladke : "<<endl;
- cout<<"1 - tochka a("<<a.getX()<<";"<<a.getY()<<")";
- cout<<"\t2 - tochka b("<<b.getX()<<";"<<b.getY()<<")"<<endl;
- cin>>sel;
- switch(sel){
- case 1:dot='a';break;
- case 2:dot='b';break;
- default:cout<<"EROR"<<endl;
- }
- }while(dot!='a' && dot!='b');
- cout<<"1 - peremeshenie po osi X"
- "\n2 - peremeshenie po osi Y"
- "\n3 - rasstoyanie do nachala koordinat"
- "\n4 - rasstoyanie mejdu dvumya tochkami"
- "\n5 - preobrazovanie v polyarnue koordinatu"
- "\n6 - sovpadenie i ne sovpadnie"
- "\n7 - exit";
- ch = _getch();
- switch(ch){
- case'1':{
- system("cls");
- int n;
- while(true){
- cout<<"Vvedite na skol`ko edinic vu xotite pribavit` X : ";
- cin >> n;
- if(cin.good()){
- break;
- }else
- {
- cin.clear();
- cout<<"Vvedeno nevernoe znachenie!"<<endl;
- cin.ignore(100,'\n');
- }
- }
- if(dot=='a')
- a.toX(n);
- else if(dot=='b')
- b.toX(n);
- else
- cout<<"Netu takogo varianta!"<<endl;
- break;
- }
- case'2':{
- system("cls");
- int n;
- while(true){
- cout<<"Vvedite na skol`ko edinic vu xotite pribavit` Y : ";
- cin >> n;
- if(cin.good()){
- break;
- }else
- {
- cin.clear();
- cout<<"Vvedeno nevernoe znachenie!"<<endl;
- cin.ignore(100,'\n');
- }
- }
- if(dot=='a')
- a.toY(n);
- else if(dot=='b')
- b.toY(n);
- else
- cout<<"Netu takogo varianta!"<<endl;
- break;
- }
- case'3':{
- system("cls");
- if(dot=='a')
- cout<<"Rasstoyanie do nachala koordinat = "<<a.doNachala();
- else if(dot=='b')
- cout<<"Rasstoyanie do nachala koordinat = "<<b.doNachala();
- else
- cout<<"Netu takogo varianta!"<<endl;
- system("pause>>void");
- break;
- }
- case'4':{
- system("cls");
- if(dot=='a')
- cout<<"Rasstoyanie ot tochki a do tochki b = "<<a.doTochki(b);
- else if(dot=='b')
- cout<<"Rasstoyanie ot tochki b do tochki a = "<<b.doTochki(a);
- else
- cout<<"Netu takogo varianta!"<<endl;
- system("pause>>void");
- break;
- }
- case'5':{
- system("cls");
- if(dot=='a')
- a.toPolar();
- else if(dot=='b')
- b.toPolar();
- else
- cout<<"Takogo varianta netu!"<<endl;
- system("pause>>void");
- break;
- }
- case'6':{
- system("cls");
- if(a==b)
- cout<<"Tochki ravnu!"<<endl;
- else
- cout<<"Tochki ne ravnu!"<<endl;
- system("pause>>void");
- }
- default:cout<<"Vedenogo varianta ne sushestvuet!"<<endl;
- }
- }while(ch!='7');
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement