菜鸟求助C++编程高手

来源:百度知道 编辑:UC知道 时间:2024/05/15 15:37:28
叫我编VB程序还好,可是C++完全看不懂啊,老师又都是在讲理论课,都没有机会上机过。对于C++完全看不懂,老师还出了一道题,叫我们写程序,一点都不会啊,哪位高手指点一下:
编写程序,将任意三个点的坐标保存在三个Point对象中,
然后使用三个Point对象,求这三个点构成的三角形面积,
在程序窗口输出三个点的坐标和三角形面积。
编程要求:
(1)将Point类的定义放在一个头文件中;
(2)将Point类的实现放在一个.cpp文件中;
(3)将main()函数放在另一个.cpp文件中;
三角形面积公式:
已知三角形三边a,b,c,则 (p=(a+b+c)/2) S=√[p(p-a)(p-b)(p-c)]
开方函数提示:sqrt,包含在cmath头文件中。
太难了,对于初学者就是一道坎,打击啊!

point类的头文件point.h

class point{
private:
double x,y;
public:
point():x(0),y(0){}
point(double a,double b):x(a),y(b){}
double getx();
double gety();
void setx(double a);
void sety(double b);
};

point类的实现文件point.cpp

#include "point.h"

double point::getx(){return x;}
double point::gety(){return y;}
void point::setx(double a){x=a;}
void point::sety(double b){y=b;}

主文件ex1.cpp

#include <iostream>
#include <cmath>
#include "point.h"
using namespace std;

void main()
{
point A(0,0),B(1,-1),C(1,1);
double la=sqrt((B.getx()-C.getx())*(B.getx()-C.getx())+(B.gety()-C.gety())*(B.gety()-C.gety()));
double lb=sqrt((A.getx()-C.getx())*(A.getx()-C.getx())+(A.gety()-C.gety())*(A.gety()-C.gety()));
double lc=sqrt((B.getx()-A.getx())*(B.getx()-A.getx())+(B.gety()-A.gety())*(B.gety()-