首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

高分求大神帮写一个程序解决办法

2012-06-08 
高分求大神帮写一个程序编程实现一个三角形类,在类中实现其各种操作。(1)类的成员变量如下所示:class CTria

高分求大神帮写一个程序
编程实现一个三角形类,在类中实现其各种操作。
(1)类的成员变量如下所示:
class CTriangle
{
private:
 int m_pos[3][2]; //用于存储三个顶点的坐标(第1维表示顶
//点序号,第2维表示X和Y分量
public:
……
};
(2)添加设置三角形三个顶点坐标的函数void SetVertex(int val[3][2]),请写出实现代码。
(3)添加计算周长的函数double CalcLength(),请写出实现代码。
(4)添加计算面积的函数double CalcArea(),请写出实现代码。
(5)添加返回三个顶点坐标的函数void GetVertex(int val[3][2]),请写出实现代码。
(6)添加显示三角形三个顶点坐标的函数void Show(),请写出实现代码。
(7) 编写main函数,在其中试用CTriangle类。请根据自己的体会,描述一个类的成员函数哪些应该是私有,哪些应该是公有?
(8)上述程序采用单文件结构形式实现。


还有能说明一下第五句和第六句有什么区别吗,我怎么感觉都是一样的啊!!!

[解决办法]
5)是返回
6是输出
返回只是外部得到这个值.输出在这里是 输出到标准输出.
[解决办法]
再努力点

[解决办法]
楼主你把已知顶点坐标求面积和周长的公式写出来.
[解决办法]
(5)返回3个坐标的值,供程序进行处理。
(6)将坐标值显示在屏幕上,让用户看到。
[解决办法]

C/C++ code
#include<cstring>#include<iostream>#include<cstdlib>#include<cstdio>#include<cmath>using namespace std;class CTriangle{    private://成员变量私有        int m_pos[3][2]; //用于存储三个顶点的坐标(第1维表示顶//点序号,第2维表示X和Y分量    private:    //  非对外接口私有        double distance(int x[2], int y[2])        {            int a = x[0] - y[0], b = x[1] - y[1];            return sqrt(a * a + b * b);        }    public:        //对外接口,公有.        void SetVertex(int val[3][2])        {            memmove((char *)m_pos, (char *)val, sizeof(m_pos));        }        double CalcLength()        {            double len = 0.0;            for(int i = 0; i < 3; i++)                len += distance(m_pos[(i+1)%3], m_pos[(i+2)%3]);            return len;        }        double CalcArea()        {            double side[3];            double p = 0.0;            for(int i = 0; i < 3; i++)            {                side[i] = distance(m_pos[(i+1)%3], m_pos[(i+2)%3]);                p += side[i];            }            p /= 2.0;            return sqrt(p * (p - side[0]) * (p - side[1]) * (p - side[2]));        }        void GetVertex(int val[3][2])        {            memmove((char *)val, (char *)m_pos, sizeof(m_pos));        }        void show()        {            for(int i=0;i<3;i++)                printf("(%d,%d)\t",m_pos[i][0],m_pos[i][1]);            puts("");        }};int main(){    int arr[3][2]={        {1,2},{3,5},{7,12}    };    CTriangle ct;    ct.SetVertex(arr);    ct.show();    printf("area:%f\n",ct.CalcArea());    printf("length:%f\n",ct.CalcLength());    return 0;}
[解决办法]
5楼写好了
[解决办法]
(5) 添加返回三个顶点坐标的函数void GetVertex(int val[3][2]),请写出实现代码。
(6) 添加显示三角形三个顶点坐标的函数void Show(),请写出实现代码。
================================================================================
(5)是获取三个顶点的坐标,并将三个顶点坐标放到参数val中作为输出
(6)将GetVertex中参数的内容显示在屏幕上

热点排行