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

哪个帮改一个小程序的?该怎么处理

2012-06-08 
哪个帮改一个小程序的???????????第8和9周实验S△1/2 * ((x2-x1)(y3-y1)-(x3-x1)(y2-y1))编程实现一个三角

哪个帮改一个小程序的???????????
第8和9周实验
S△=1/2 * ((x2-x1)(y3-y1)-(x3-x1)(y2-y1))
编程实现一个三角形类,在类中实现其各种操作。
(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)上述程序采用单文件结构形式实现。
#include<iostream>
#include<cmath>
using namespace std;
class CTriangle
{
private:
 int m_pos[3][2]; //用于存储三个顶点的坐标(第1维表示顶
//点序号,第2维表示X和Y分量
public:
void SetVertex();
double CalcLength(); //求三角形的边长
double CalcArea(); //求三角形的面积
int GetVertex();//添加返回三个顶点坐标的函数
void Show();//添加显示三角形三个顶点坐标的函数
};
void CTriangle::SetVertex()
{
int a,b;
for(a=0;a<=2;a++)
{
for(b=0;b<=1;b++)
{
cin>>m_pos[a][b];
}
}
}
double CTriangle::CalcLength()
{
double circle,c1,c2,c3;
c1=sqrt(pow(double(m_pos[0][0]-m_pos[1][0]),2)+pow(double(m_pos[0][1]-m_pos[1][1]),2));
c2=sqrt(pow(double(m_pos[1][0]-m_pos[2][0]),2)+pow(double(m_pos[1][1]-m_pos[2][1]),2));
c3=sqrt(pow(double(m_pos[2][0]-m_pos[0][0]),2)+pow(double(m_pos[2][1]-m_pos[0][1]),2));
circle=c1+c2+c3;
cout<<circle;
return circle;
}
double CTriangle::CalcArea()
{
double c1,c2,c3;
double p,s;
c1=sqrt(pow(double(m_pos[0][0]-m_pos[1][0]),2)+pow(double(m_pos[0][1]-m_pos[1][1]),2));
c2=sqrt(pow(double(m_pos[1][0]-m_pos[2][0]),2)+pow(double(m_pos[1][1]-m_pos[2][1]),2));
c3=sqrt(pow(double(m_pos[2][0]-m_pos[0][0]),2)+pow(double(m_pos[2][1]-m_pos[0][1]),2));
p=(c1+c2+c3)/2;
s=sqrt(p*(p-c1)*(p-c2)*(p-c3));
cout<<s;
return s;
}
int CTriangle::GetVertex()
{
int a,b;
for(a=0;a<=2;a++)
{
for(b=0;b<=1;b++)
{
return (m_pos[a][b]);
}
}
}
void CTriangle::Show()
{
int a,b;
for(a=0;a<=2;a++)
{
cout<<"第"<<a+1<<"个顶点是:";
for(b=0;b<=1;b++)
{
cout<<m_pos[a][b];
}
cout<<endl;
}
}
int main()
{
CTriangle cmcc;
cout<<"请输入三角形的三个顶点:"<<endl;
cmcc.SetVertex();
cout<<"这个三角形的周长是:";
cmcc.CalcLength();
cout<<endl;
cout<<"这个三角形的面积是:";
cmcc.CalcArea();
cout<<endl;
cmcc.GetVertex();
cmcc.Show();
return 0;
}
周长和面积怎么求不出来的

[解决办法]
你看看,你输入的三个点是否正确,最好在输入点后进行验证点是否正确,
任意两边想家和要大于第三条边。
[解决办法]
算法应该没有问题,如果编译能通过,计算没看到有什么问题

热点排行