栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

教材9-2:完成Rectangle类应用的main函数(能跑就行)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

教材9-2:完成Rectangle类应用的main函数(能跑就行)

教材9-2:完成Rectangle类应用的main函数

已知Point类和Rectangle类的声明与定义如下,请完成main函数定义:

第一行输入2个doube型值,用空格分隔,分别表示矩形左上角的x与y坐标值;
第二行输入2个double型值,用空格分隔,分别表示矩形右下角的x与y坐标值;
利用2个点制造一个矩形,输出矩形的长、宽和面积,输出格式见输出样例。

裁判测试程序样例:

#include
using namespace std;

class Point{
public:
    Point(double xx=0, double yy=0);
    void Set(double xx, double yy);
    double GetX() { return x; }
    double GetY() { return y; }
    void Move(double xx,double yy);
    void Output();
private:
    double x;
    double y;
};

class Rectangle{
public:
    Rectangle(Point &p1, Point &p2);
    void Set(Point &p1, Point &p2);
    double GetLength();
    double GetWidth();
    double GetArea();
private:
    Point ltp;     //矩形左上角坐标
    Point rbp;     //矩形右下角点坐标,x与y都大于左上角ltp的x和y
};



Point::Point(double xx, double yy)
{
    Set(xx,yy);
}
void Point::Set(double xx, double yy)
{
    x = xx;
    y = yy;
}
void Point::Move(double xx,double yy)
{
    x = x + xx;
    y = y + yy;
}
void Point::Output()
{
    cout << x << "," << y << endl;
}

Rectangle::Rectangle(Point &p1, Point &p2):ltp(p1),rbp(p2)
{
    
}
void Rectangle::Set(Point &p1, Point &p2)
{
    ltp.Set(p1.GetX(), p1.GetY());
    rbp.Set(p2.GetX(), p2.GetY());
}

double Rectangle::GetLength()
{
    return rbp.GetX() - ltp.GetX();
}
double Rectangle::GetWidth()
{
    return rbp.GetY() - ltp.GetY();
}

double Rectangle::GetArea()
{
    return GetLength() * GetWidth();
}

输入样例:
第一行输入左上角坐标的x与y值,用空格分隔
第二行输入右下角坐标的x与y值,用空格分隔

1 2
3 4
输出样例:
length= 2
width= 2
area= 4

c++解析:

int main()
{
    int a, b, c, d;
    cin >> a >> b;
    cin >> c >> d;
    cout << "length= " << abs(c - a) << endl;
    cout << "width= " << abs(d - b) << endl;
    cout << "area= " << abs((c - a) * (d - b)) << endl;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/864457.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号