第五周 课后实践:项目一——体验常成员函数
来源:互联网 发布:resourcemanager 端口 编辑:程序博客网 时间:2024/05/18 00:30
问题及代码:
/** Copyright (c) 2014, 烟台大学计算机学院* All rights reserved.* 文件名称:Project4.cpp* 作 者:陈旭* 完成日期:2015年4月 7日* 版 本 号: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 Distance1(CPoint p) const; //两点之间的距离(一点是当前点——想到this了吗?,另一点为p) double Distance0() const; // 到原点(0,0)的距离 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;}void CPoint::input() //输入坐标点{ char n; cout<<"请输入坐标点(格式如x,y):"; while(1) { cin>>x>>n>>y; if(n==',')break; else cout<<"对不起,您输入的数据格式不符合规范,请您重新输入。"<<endl; }}void CPoint::output() //输出坐标点{ cout<<"("<<x<<","<<y<<")"<<endl;}double CPoint::Distance1(CPoint p) const //求两点之间的距离{ double d; d=sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)); return d;}double CPoint::Distance0() const //到原点的距离{ double e; e=sqrt(x*x+y*y); return e;}CPoint CPoint::SymmetricAxis(char style) const //求对称点{ CPoint p(this->x,this->y); switch(style) { case 'x': p.y=-y; break; case 'y': p.x=-x; break; case 'o': p.x=-x; p.y=-y; break; } return p;}int main(){ double distance; CPoint p1,p2,p; cout<<"第一个点p1,"; p1.input(); cout<<"第二个点p2,"; p2.input(); distance=p1.Distance1(p2); cout<<"这两点之间的距离为:"<<distance<<endl; distance=p1.Distance0(); cout<<"这个点到原点的距离为:"<<distance<<endl; p=p1.SymmetricAxis('x'); cout<<"这个点关于x轴的对称点为:"<<endl; p.output(); p=p1.SymmetricAxis('y'); cout<<"这个点关于y轴的对称点为:"<<endl; p.output(); p=p1.SymmetricAxis('o'); cout<<"这个点关于原点的对称点为:"<<endl; p.output(); return 0;}
运行结果:
0 0
- 第五周 课后实践:项目一——体验常成员函数
- 第五周项目一——体验常成员函数
- 第五周上机实践项目1——体验常成员函数
- 第五周上机实践项目1-体验常成员函数
- 第五周项目1——体验常成员函数
- 15第五周项目一——体验常成员函数
- 第五周项目一——体验常成员函数(1)
- 第五周项目一——体验常成员函数(2)
- 第五周项目一 体验常成员函数——平面坐标系类
- 第五周项目一:体验常成员函数
- 第五周项目一 体验常成员函数
- 第五周项目一--体验常成员函数
- 第五周项目一:体验常成员函数
- 2015年第五周项目一:体验常成员函数
- 第五周项目一体验常成员函数
- 第五周项目一 体验常成员函数
- 第五周 项目一 体验常成员函数
- 第五周项目一体验常成员函数
- 辛星浅析linux中lvm的管理
- shell中if逻辑判断的常见用法
- 计算机组成第三周:算术逻辑单元
- How Tomcat Works 3
- 第一章第六题
- 第五周 课后实践:项目一——体验常成员函数
- 杭电1022 Train Problem I
- file的getPath getAbsolutePath和getCanonicalPath的不同
- C++获取guid
- 正则表达式
- java.util.ConcurrentModificationException 解决办法
- (others)U-Boot启动代码分析
- C++Primer学习笔记(10)关联容器
- C++中__uuidof是干什么用的