第六周实验报告(任务5)

原创 2012年03月27日 21:25:53

 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:           把任务3分开              
* 作    者:     郭广建                       
* 完成日期:  2012年    3   月   27     日
* 版 本 号:  1.0

源程序:

CPoint.cpp

#include"CTriangle.h"

#include<cmath>

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

	y = yy;
}

double CPoint::Distance(CPoint p) const
{
	double dis;

	dis = sqrt((p.x - x) * (p.x - x) + (p.y - y) * (p.y - y));

	return dis;
}


void CPoint::input()
{
	char c;

	cout  << "以x,y形式输入坐标" <<endl;

	cin >> x >> c >> y;

	while(1)
	{	
		if( c != ',')

			cout << "error!";

		else
			break;
	}
}
void CPoint::output()
{
	cout << "以(x,y)的形式输出坐标点" <<endl;

	cout << '(' << x << ',' << y << ')' <<endl;
}


CTriangle.cpp

#include"CTriangle.h"

#include<cmath>

void CTriangle::setTriangle(CPoint &X, CPoint &Y, CPoint &Z)//
{
	A = X;

	B = Y;

	C = Z;
}

	

	

double CTriangle::perimeter(void)//计算三角形的周长
{
	a = B.Distance(C),b = C.Distance(A),c = A.Distance(B);

	return (a+ b+ c);
}

double CTriangle::area(void)//计算并返回三角形的面积
{
	a = B.Distance(C),b = C.Distance(A),c = A.Distance(B);

	double q = (a+ b+ c)/2;

	return sqrt(q* (q - a)* (q - b)* (q - c));
}

bool CTriangle::isRightTriangle() //是否为直角三角形
{
	a = B.Distance(C),b = C.Distance(A),c = A.Distance(B);

	if((a*a + b*b - c*c < 1e-7) || (a*a + c*c - b*b< 1e-7) || (b*b + c*c - a*a < 1e-7))

	     return true;

	else

		return false;
}

bool CTriangle::isIsoscelesTriangle() //是否为等腰三角形
{
	a = B.Distance(C),b = C.Distance(A),c = A.Distance(B);

	if((a - b < 1e-7) || (b - c < 1e-7) || (c - a < 1e-7))

		return true;
	else
		return false;
}


main.cpp

#include<iostream>

#include"CTriangle.h"

#include<cmath>

using namespace std;



void main()
{
	CTriangle Tr1 (CPoint (0,2), CPoint (0,0), CPoint (2,0));

	cout << "三角形的面积是:" << Tr1.area() << "   " << "三角形的周长是:" << Tr1.perimeter() <<endl;

	cout << "这个三角形" << (Tr1.isRightTriangle()? "是" : "不是" )<< "直角三角形" <<endl;

	cout << "这个三角形" << (Tr1.isIsoscelesTriangle()? "是" : "不是") << "等腰三角形"<<endl;
	
}

CTriangle.h

#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;   // 两点之间的距离(一点是当前点,另一点为参数p)

	void input();  //以x,y 形式输入坐标点

	void output(); //以(x,y) 形式输出坐标点
};

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; //三顶点

 double a, b, c;
};
运行结果:

操作系统实验报告:ucore_lab2~5

这次的实验,基本上对应着ucore的lab2~lab5。 问题1: (1) 当前系统探测物理内存布局的过程是在实模式下完成的。 使用的方式是基于INT 15h中断的e820h。   内存探测的过...
  • lijunfan1994
  • lijunfan1994
  • 2015年06月11日 00:19
  • 1822

《Linux基础》学生实验报告5

自己学习Linux的同时,对一些知识进行整理回顾,加深理解。
  • y6df7
  • y6df7
  • 2017年11月16日 18:10
  • 205

μC/OS-II实验:实验一 任务的基本管理

实验描述: 涉及的μC/OS-II系统函数: 实验代码:  app.c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2...
  • fovwin
  • fovwin
  • 2013年08月18日 20:48
  • 2214

Keil MDK之RTX任务管理 初始化 创建 删除

在Keil 的安装目录下面有个RTX的帮助文档,路径C:\keil\ARM\Hlp 这里面的rlarm.chm手册,详细介绍了RTX的各函数接口等 一、RTX的初始化和启动 1、RTX的初始化函数有三...
  • chen244798611
  • chen244798611
  • 2015年12月19日 13:03
  • 1298

怎样成为100分的优秀前端?

大多数人心中的前端: 1、把 Photoshop 文件、图片或者线框放进一个网页; 2、偶尔设计 Photoshop 文件、图片或者线框; 3、用 Javascript 编程,为网页制作动画、过...
  • zhangchengwei4014
  • zhangchengwei4014
  • 2015年11月19日 10:24
  • 261

《数据结构》实验五:树和二叉树 实验(实验报告)

一.实验目的      巩固树和二叉树的相关知识,特别是二叉树的相关内容。学会运用灵活应用。 1.回树和二叉树的逻辑结构和存储方法,清楚掌握树和二叉树的遍历操作。 2.学习树的相关知...
  • denise94
  • denise94
  • 2014年12月06日 20:57
  • 3590

【实验报告】高软实验5

【Jerryykt1464929958440 + 《软件工程(C编码实践篇)》MOOC课程作业http://mooc.study.163.com/course/USTC-1000002006 】 ...
  • a251844314
  • a251844314
  • 2017年10月20日 19:24
  • 59

上机实验报告2:4&2:5

分段函数 一、问题及代码 /* 文件名称:five.cpp 作者:吴涛涛 完成日期; 版本号:v1.0 对任务及求解方法的描述: 输入描述: 问题描述:求分段函数y=x,x...
  • Diviner_Wu
  • Diviner_Wu
  • 2017年03月05日 22:40
  • 379

oracle实验和代码

专业:网络工程本科 制 定 人: 郭东恩 教 研 室:数据库技术教研室 2011 年1 月 前言 大型数据库ORACLE是属于数据库开发软件及应用领域的专业课,是面向计算机专业本科生...
  • xuan_xinya
  • xuan_xinya
  • 2013年03月26日 19:56
  • 1820

任务延时、任务挂起、解除任务挂起、任务优先级获取和设置

FreeRTOS任务控制API函数主要实现任务延时、任务挂起、解除任务挂起、任务优先级获取和设置等功能。 1.相对延时 1.1函数描述       void vTaskDelay( ...
  • zhengyanan815
  • zhengyanan815
  • 2017年01月17日 14:13
  • 1034
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第六周实验报告(任务5)
举报原因:
原因补充:

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