项目三(修改版)

来源:互联网 发布:http协议默认端口 编辑:程序博客网 时间:2024/06/13 10:06
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: fun.cpp * 作 者:黄兆宽 * 完成日期:2013 年 4 月 6 日 * 版本号: v1.0 * 对任务及求解方法的描述部分:点到点的问题。 * 输入描述:略 * 问题描述:略 * 程序输出:如下 */ #include<iostream>#include<cmath>using namespace std;class CPoint{private:  double x;  // 横坐标  double y;  // 纵坐标public:CPoint(double xx=0,double yy=0):x(xx),y(yy){};  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) 形式输出坐标点};double CPoint::Distance(CPoint p) const{double distance=0;distance=sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y));cout<<"两点之间的距离为:";return distance;}double CPoint::Distance0() const{double distance=0;distance=sqrt(x*x+y*y);cout<<"到原点之间的距离:";return distance;}void CPoint::input(){char a;while(true){cin>>x>>a>>y;if(a==','){break;}else{cout<<"输入格式不正确,请重新输入:";}}}void CPoint::output(){cout<<"坐标为:"<<"("<<x<<","<<y<<")"<<endl;}CPoint CPoint::SymmetricAxis(char style) const{CPoint p(this->x,this->y);if(style=='x') p.y=-y;else if(style=='y') p.x=-x;else if(style=='o') {p.x=-x;p.y=-y;}return p;}int main(){CPoint p1,p2,p;double distance=0;char a;cout<<"请输入第一点坐标(输入点,形式为x,y):";p1.input();p1.output();cout<<"请输入第二点坐标(默认点,形式为x,y):";p2.input();p2.output();distance=p1.Distance(p2);cout<<distance<<endl;distance=p1.Distance0();cout<<distance<<endl;cout<<"请输入对称类型(形式如x,y,o):";cin>>a;p=p1.SymmetricAxis(a);cout<<"关于"<<a<<"轴对称点";p.output();return 0;}


运行结果:

原创粉丝点击