第五周(x,y)

/*

*copyright(c) 2015,烟台大学计算机学院

*All rights reserved。

*文件名称:第五周(x,y)

*作者:王忠

*完成日期:2015.4.7

*版本号:v1.0

*

*问题描述:设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等。在设计中,由于求距离、求对称点等操作对原对象不能造成任何改变,所以,将这些函数设计为常成员函数是合适的,能够避免数据成员被无意更改。

*输入描述:按照要求输入x,y

*程序输出:输出距离,关于x,y,o对称的坐标

#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) 形式输出坐标点
};
int main()
{
    double distance;
    CPoint p1,p2,p;
    cout<<"第1个点p1,";
    p1.input();
    cout<<"第2个点p2,";
    p2.input();
    distance=p1.Distance1(p2);
    cout<<"两点的距离为:"<<distance<<endl;
    distance=p1.Distance0();
    cout<<"p1到原点的距离为:"<<distance<<endl;
    p=p1.SymmetricAxis('x');
    cout<<"p1关于x轴的对称点为:";
    p.output();
    p=p1.SymmetricAxis('y');
    cout<<"p1关于y轴的对称点为:";
    p.output();
    p=p1.SymmetricAxis('o');
    cout<<"p1关于原点的对称点为:";
    p.output();
    return 0;
    return 0;
}
CPoint::CPoint(double xx,double yy)
{
    x=xx;
    y=yy;
}
void CPoint::input()
{
    double a,b;
    char c;
    cout<<"输入形式x,y"<<endl;
    cin>>a>>c>>b;
    if(c==',')
    {
        x=a;
        y=b;
    }
}
void CPoint::output()
{
    cout<<"("<<x<<","<<y<<")"<<endl;
}
double CPoint::Distance0() const
{
    double z;
    z=sqrt(x*x+y*y);
    return z;
}
double CPoint::Distance1(CPoint p) const
{
    double d;
    d=sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));
    return d;
}
CPoint CPoint::SymmetricAxis(char style) const
{
    CPoint p(this->x,this->y);
    if(style=='x')
        p.x=-x;
    else if(style=='y')
        p.y=-y;
    else if(style=='o')
    {
        p.x=-x;
        p.y=-y;
    }
    return p;
}

时间: 2024-08-10 16:55:05

第五周(x,y)的相关文章

信息安全设计基础第五周学习总结

信息安全系统设计基础第五周学习总结 [学习时间:10小时] [学习内容:第三章:程序的机器表示] 一.教材内容 1.X86 寻址方式的变化: 1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全: 2 8086的分段模式: 3 IA32的带保护模式的平坦模式 2.机器编程的两种抽象: 1)指令集体系结构(Instruction set architecture,ISA)——定义指令格式以及每条指令执行之后对状态的影响.大多数ISA将程序行为描述成按顺序执行的: 2)虚拟地址 3.一些处理

第五周作业。

第五周时候解决的问题. 就拿自己做的那个APP项目来说吧.由于项目需求,清明前花了一个下午时间来实现一个下拉刷新的ListView.上网看了第三方的库,发现不是很适合自己用.于是自己尝试的去实现了个一个下拉刷新的ListVIew. 项目地址: https://github.com/wukunguang/GongGong 首先,大概描述下用户使用整个下拉刷新的过程. 触摸-> 按住 -> 向下拖动 -> 松开 那么程序内部实现的操作大概可分解为: 捕获触摸动作  -> 捕获向下拖动

Python入门学习第五周:字符串·作业

python学习第五周字符串相关学习内容总结与作业 第五周主要是对字符串相关操作的学习包括 字符串的定义字符的序列 基本字符运算 求长度len(str)函数 拼接+str = str1 + 'pinjie' 重复*name * 3 就是把name的字符串内容输出三次 成员运算in判断一个字符串是否是另一个字符串的子串 for语句 枚举字符串中的每个字符 字符串索引每个字符串都有一个索引值索引从0前向或-1后向开始索引运算符[] 切片操作选择字符串的子序列语法 [start : finish] s

第五周(三角形,2个类)多文件

/* *copyright(c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:第五周(三角形,2个类) *作者:王忠 *完成日期:2015.4.8 *版本号:v1.0 * *问题描述:本项目设计一个三角形类,其数据成员不再是三角形三条边的边长,而是三角形的三个顶点.利用设计的三角形类,输入三角形的三个顶点,求出其面积.周长,并判断其是否为直角三角形和等腰三角形. *输入描述: *程序输出:输出周长 面积  是否为等腰.直角三角形 #include <io

第五周(三角形,2个类)

/* *copyright(c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:第五周(三角形,2个类) *作者:王忠 *完成日期:2015.4.7 *版本号:v1.0 * *问题描述:本项目设计一个三角形类,其数据成员不再是三角形三条边的边长,而是三角形的三个顶点.利用设计的三角形类,输入三角形的三个顶点,求出其面积.周长,并判断其是否为直角三角形和等腰三角形. *输入描述: *程序输出:输出周长 面积  是否为等腰.直角三角形 #include <io

五周第二次课(1月9日)

五周第二次课(1月9日)7.6 yum更换国内源 首先删除上节课的dvd,并将配置文件copy回来 wget未找到命令,借用curl安装 这时候再查看配置文件 7.7 yum下载rpm包 yum install -y epel-release yum下载rpm包 yum install zsh --downloadonly  仅仅下载不安装 上面的包下载到的存放目录 指定下载的路径 yum install -y zsh --downloadonly --downloaddir=/tmp/ 重新下

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装

五周第二次课(1月9日)7.6 yum更换国内源7.7 yum下载rpm包7.8/7.9 源码包安装扩展1. 配置yum源优先级 http://ask.apelearn.com/question/7168 2. 把源码包打包成rpm包 http://www.linuxidc.com/Linux/2012-09/70096.htm 命令::================================================================================

五周第三次课(1月10日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向

五周第三次课(1月10日)8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向 history命令: 用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件. 该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令.例如,要执行第2个历史命令,则输入!2. 历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取.在内存中,历史命令仅能够存储1000条历史命

五周第四次课(1月11日) 8.6 管道符和作业控制 8.7/shell变量 8.8 shell变量 8.9 环境变量配置文件

五周第四次课(1月11日)8.6 管道符和作业控制8.7/shell变量8.8 shell变量8.9 环境变量配置文件扩展bashrc和bash_profile的区别 http://ask.apelearn.com/question/7719 简易审计系统: http://www.68idc.cn/help/server/linux/2014042190951.html 关于PROMPT_COMMAND环境变量的含义 http://www.linuxnote.org/prompt_command