* 程序头部注释开始* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.* 文件名称:
* 作 者: 时永杰
* 完成日期: 2012 年 3月 26日
* 版 本 号:4308
#include <iostream> #include <cmath> using namespace std; enum SymmetricStyle{ axisx,axisy,point}; class Cpoint { private: double x; double y; public: Cpoint (double xx=0,double yy=0); double Distance (Cpoint &p) const; double Distance0() const; Cpoint symmertricAxis(SymmetricStyle style) const; void intput(); void output(); double returnx(){return x;} ; double returny(){return y;} ; }; Cpoint::Cpoint (double xx,double yy) { x=xx; y=yy; } double Cpoint::Distance (Cpoint &p) const { cout<< "到p点距离"<<sqrt((x-p.returnx())*(x-p.returnx())+((y-p.returny())*(y-p.returny())))<<endl; return 0; } double Cpoint::Distance0() const { cout<< "到原点距离"<<sqrt(x*x+y*y)<<endl; return 0; } Cpoint Cpoint::symmertricAxis(SymmetricStyle style) const { double a,b; switch(style) { case axisx:{ a=-x; b=y; cout<<"按x轴对称"<<"("<<a<<","<<b<<")"<<endl; }; case axisy:{ a=x; b=-y; cout<<"按y轴对称"<<"("<<a<<","<<b<<")"<<endl; }; case point:{ a=-x; b=-y; cout<<"按原点对称"<<"("<<a<<","<<b<<")"<<endl; }break; default:cout<<"输入错误";break; } return 0; } void Cpoint::intput() { char ch1,ch2,ch3; do { cout<<"请以(x,y)的方式输入x,y:"; cin>>ch1>>x>>ch2>>y>>ch3; if(ch1 == '(' && ch2 == ',' && ch3 == ')') break; } while (1); } void Cpoint::output() { cout<<"该点为"<<"("<<x<<","<<y<<")"<<endl; } int main() { SymmetricStyle style; Cpoint p(5,6); Cpoint a; a.intput(); a.Distance ( p); a.Distance0(); cout<<"style的类型(axisx按x轴对称,axisy按y轴对称,point按原点轴对称)"<<endl; style=axisx; a.symmertricAxis( style); a.output(); return 0; }