/** 程式的著作權和版本聲明部分* Copyright (c)2013, 煙台大學電腦學院學生* All rightsreserved.* 檔案名稱:score.cpp * 作 者: 劉玉金 * 完成日期: 2013 年4 月 10 日* 版本號碼: v1.0 * 輸入描述:* 問題描述:* 輸出:*/#include<iostream>#include<cmath>using namespace std;class CPoint{private: double x; // 橫座標 double y; // 縱座標public: CPoint(double xx=0,double yy=0); double Distance(CPoint p) const; // 兩點之間的距離(一點是當前點,另一點為參數p) double Distance0() const; // 到原點的距離 CPoint SymmetricAxis(char style)const;//style取'x','y'和'o'分別表示按x軸, y軸, 原點對稱 void input(); //以x,y 形式輸入座標點 void output(); //以(x,y) 形式輸出座標點};CPoint::CPoint(double xx,double yy){ x=xx; y=yy;}double CPoint::Distance(CPoint p) const{ return (sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y)));}double CPoint::Distance0() const{ return (sqrt(x*x+y*y));}CPoint CPoint::SymmetricAxis(char style)const{ double x1=x,y1=y;switch(style){ case 'x': y1=-y; break; case 'y': x1=-x; break; case 'o': x1=-x; y1=-y; break;} CPoint p(x1,y1);return p;}void CPoint::input(){ char ch; cout<<"請輸入(x,y)的值"; cin>>x>>ch>>y; if(ch!=',') cout<<"您輸入的形式不對:";// break;}void CPoint::output(){ cout<<"("<<x<<","<<y<<")";}int main(){ double d; CPoint a,b; cout<<"第一個點a:"<<endl; a.input(); cout<<"第二個點b:"<<endl; b.input();a.Distance(b);cout<<"點a到點b的距離為:"<<a.Distance<<endl;b.Distance(a);cout<<"點b到點a的距離為:"<<b.Distance<<endl;cout<<"點b關於y軸對稱點為:";b.SymmetricAxis('y').output();cout<<endl;cout<<"點a關於x軸對稱點為";a.SymmetricAxis('x').output();cout<<endl;cout<<"點b關於o的對稱點為:";b.SymmetricAxis('o').output();cout<<endl;cout<<endl;return 0;}
運行結果: