六周任务4.1

原创 2012年03月27日 20:11:31
#include <iostream>
#include <cmath>

using namespace std;

class CPoint
{
private :
	double x ;
	double y ;

public :
	CPoint( double xx = 0 , double yy = 0 );//构造函数声明

	double Distance ( CPoint p ) const ;//求两点距离函数声明

	void input() ;//按x , y的形式输入点

	void output() ;//按(x,y)输出点的值

};

CPoint::CPoint( double xx , double yy )
{
	x = xx ;
	y = yy ;
}

void  CPoint::input()
{
	cout << "按 x , y 的形式输入坐标点" << endl ;
	cin >> x >> y ;
}

void  CPoint::output()
{
	cout<< "点的坐标为:" <<"("<< x <<","<< y <<")"<< endl ;
}

double CPoint::Distance ( CPoint p ) const
{
	double h ;
	h = sqrt ((x - p.x)*(x - p.x) + (y - p.y)*(y - p.y)) ; 
	return h ;
}

class CTriangle

{
public:

    CTriangle(CPoint &x , CPoint &y , CPoint &z ):A(x),B(y),C(z){}//

	void setTriangle (CPoint &x , CPoint &y , CPoint &z );//

	double perimeter(void);//

	double area(void);//

	bool isRightTriangle();//

	bool isIsoscelesTriangle();//

private:

	CPoint A , B , C ;//
};

/*CTriangle:: CTriangle()

{
	A=x ;

	B=y ;

	C=z ;
}*/

double  CTriangle::perimeter(void)

{
	return ( A.Distance(B) + A.Distance(C) + B.Distance(C) ) ;//
}

void  CTriangle::setTriangle (CPoint &x , CPoint &y , CPoint &z )

{
	A.input();
    B.input();
	C.input();
}

double  CTriangle::area(void)

{  
	double s , m ;

	m = ( A.Distance(B) + A.Distance(C) + B.Distance(C) )/2 ;

	s = sqrt ( m * ( m - A.Distance(B) ) * ( m - A.Distance(C) ) * ( m - B.Distance(C) ) ) ;//

	return s ;
}

bool  CTriangle::isRightTriangle()

{
	if ( abs(A.Distance(B)*A.Distance(B)+A.Distance(C)*A.Distance(C)-B.Distance(C)*B.Distance(C))<1e-6||abs( A.Distance(B)*A.Distance(B)+B.Distance(C)*B.Distance(C)-A.Distance(C)*A.Distance(C))<1e-6||abs(A.Distance(C)*A.Distance(C)+B.Distance(C)*B.Distance(C)-A.Distance(B)*A.Distance(B))<1e-6)

		 return true ;
	else 

		return false ;
}

bool  CTriangle::isIsoscelesTriangle()

{
	if((abs(A.Distance(C)*A.Distance(C)-B.Distance(C)*B.Distance(C))<1e-6)||((abs(A.Distance(B)*A.Distance(B)-B.Distance(C)*B.Distance(C))<1e-6)||(abs(A.Distance(B)*A.Distance(B)-A.Distance(C)*A.Distance(C))<1e-6) ))

        return true ;
	else 
		return false ;
}

	int main()

	{
		CTriangle ctr1(CPoint(3,6),CPoint(5,7),CPoint(8,6)) ;

		//ctr1.setTriangle() ;//

		cout<<"该三角形的周长为:"<<ctr1.perimeter()<<",面积为:"<<ctr1.area()<<endl<<endl;  

                  cout<<"该三角形"<<(ctr1.isRightTriangle()?"是":"不是")<<"直角三角形"<<endl;  

                  cout<<"该三角形"<<(ctr1.isIsoscelesTriangle()?"是":"不是")<<"等腰三角形"<<endl;  

		system ("pause") ;

		return  0 ;
	}

 
运行结果:


 

感受:最后主函数中的后两个输出还有待掌握,原本想运行时输入三个点,ctr1.setTriangle()  却出现了“参数不能为空的错误”不理解啊。望老师给予宝贵意见,

 

想在运行时随意输入三个点。  呵呵

。谢谢老师啦。呵呵

我要继续加油!!!!!!!!!!

Android的Gradle技巧 4.1编写您自己的自定义任务

4.1编写您自己的自定义任务 问题 你想用你自己的任务来定制Gradle构建过程。 解 将任务元素添加到Gradle构建文件。使用Android插件提供的额外属性,使开发更轻松。 讨论 Gradle ...
  • sergeycao
  • sergeycao
  • 2017-07-03 10:44:34
  • 902

【实训】第六周总结上

最近做的工作如下:继续实现之前接口文档的接口,和iOS端交互,更换ORM框架。 之前ORM层一直使用spring data,spring data实现了JPA,在进行基本的增删改查的时候,是很方便的...
  • ITString
  • ITString
  • 2017-06-12 16:15:40
  • 120

求两个时间段内周六周日总天数

  • 2008年06月30日 15:00
  • 523B
  • 下载

第十六周 学期总结

学习心得                                                       时间总是过得很快,2015,马上就要走到了尽头,大二这半年,比起大一,懂得了更多的...
  • zj2558562310
  • zj2558562310
  • 2015-12-18 08:27:59
  • 438

第十六周--英文单词的基数排序

/* *Copyright (c) 2015 烟台大学计算机与控制工程学院 *All right reserved. *标题:数据结构实践——英文单词的基数排序 *作者:杨珺 *d...
  • Yangjun19113
  • Yangjun19113
  • 2015-12-14 17:07:33
  • 305

第十六周—C语言(字符串的插入)

/* 烟台大学计算机学院 2016 作者:张威 完成日期:2016年12月10日 问题描述:将一个字符串插入到另一个字符串的指定位置 */ #include #include int main(...
  • zw159357
  • zw159357
  • 2016-12-10 10:52:52
  • 140

计算一段日期内的周末天数(星期六,星期日总和

function get_weekend_days($start_date,$end_date){ if (strtotime($start_date) > strtotime($end_date)...
  • piperzero
  • piperzero
  • 2011-08-29 08:58:20
  • 1707

Celery-4.1 用户指南: Calling Tasks

基础本文档描述 Celery 中任务实例和 Canvas 使用的统一 “Calling API”。API 中定义了一个执行选项的标准集,以及三个方法: - apply_async(args[, kw...
  • u013148156
  • u013148156
  • 2017-11-17 17:35:45
  • 827

Celery-4.1 用户指南: Optimizing

简介默认的配置做了很多折中考虑。它不是针对某个情况优化的,但是大多数情况下都工作的非常好。基于一个特殊的使用场景,有很多优化可以做。优化可以应用到运行环境的不同属性,可以是任务执行的时间,使用的总内存...
  • u013148156
  • u013148156
  • 2017-11-22 13:37:48
  • 425

汇编课程设计报告

  • 2013年01月10日 13:23
  • 462KB
  • 下载
收藏助手
不良信息举报
您举报文章:六周任务4.1
举报原因:
原因补充:

(最多只允许输入30个字)