类与对象 设计并测试Trapezium类

题目内容:

设计并测试一个名为Trapezium的梯形类,其属性为梯形的四个顶点的坐标。该梯形上边和下边均和x轴平行。
根据类的封装性要求,在类的声明中用8个私有的整型变量表示4个点的坐标值,声明成员函数initial(int,int,int,int,int,int,int,int)初始化数据成员,函数GetPosition(int&,int&,int&,int&,int&,int&,int&,int&)读取坐标值,函数Area()计算面积。

输入格式:

梯形四个顶点的坐标,

输出格式:

梯形的面积,依次为左上(x1,y1)、右上(x2,y2)、左下(x3,y3)和右下(x4,y4)角的顶点。

输入样例:

3 2 5 2 1 -4 7 -4

输出样例:

24

点击查看学习笔记

除了很丑没什么别的缺点了

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 class Trapezium{
 4 private:
 5     int X1;
 6     int Y1;
 7     int X2;
 8     int Y2;
 9     int X3;
10     int Y3;
11     int X4,Y4;
12 public:
13     void initial(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4);//初始化数据成员,
14     void GetPosition(int&x1,int&y1,int&x2,int&y2,int&x3,int&y3,int&x4,int&y4);//读取坐标值,函数
15     void Area();
16 };
17 void Trapezium::GetPosition(int&x1,int&y1,int&x2,int&y2,int&x3,int&y3,int&x4,int&y4){//读取坐标值,函数{
18       cout<<x1<<" "<<y1<<" "<<x2<<" "<<y2<<" "<<x3<<" "<<y3<<" "<<x4<<" "<<y4<<'
';
19 }
20 void Trapezium::Area(){//面积为上底加下底*高/2
21     double s;
22     s=(double)(X2-X1+X4-X3)*(Y2-Y4)/2;
23     cout<<s<<'
';
24 }
25 
26 void Trapezium::initial(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4){
27         X1=x1;
28         X2=x2;
29         X3=x3;
30         X4=x4;
31         Y1=y1;
32         Y2=y2;
33         Y3=y3;
34         Y4=y4;
35 }
36 int main(){
37 
38       int a1,a2,b1,b2,c1,c2,d1,d2;
39       cin>>a1>>a2>>b1>>b2>>c1>>c2>>d1>>d2;
40       Trapezium trapezium;
41       trapezium.initial(a1,a2,b1,b2,c1,c2,d1,d2);
42       trapezium.Area();
43       return 0;
44 }
原文地址:https://www.cnblogs.com/ahijing/p/12620260.html