三角形类

/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: object.cpp
* 作者:董慧
* 完成日期: 2013年3月22日
* 版本号: v1.0
* 输入描述:无
* 问题描述:设计求三角形周长和面积的类。
* 程序输出:三角形的周长和面积
*/
#include "stdafx.h"
#include<iostream>
#include<Cmath>
using namespace std;
class Triangle
{
public:
	bool setABC(double x, double y, double z);//置三边的值,注意要能成三角形
	void getABC(double *x, double *y, double *z);//取三边的值
	double perimeter(void);//计算三角形的周长
	double area(void);//计算并返回三角形的面积
private:
	double a,b,c; //三边为私有成员数据
};
void  Triangle::getABC(double *x, double *y, double *z)
{
	*x=a;
	*y=b;
	*z=c;
}
bool  Triangle::setABC(double x, double y, double z)
{
	cout << "A";
	cin >> x;
	cout << "B";
	cin >> y;
	cout << "C";
	cin >> z;
	a = x;
	b = y;
	c = z;
	if(a<0||b<0||c<0||a+b<c||a+c<b||b+c<a||a-b<c||a-c<b||b-c<a)
		return false;
	else
		return true;
}
double  Triangle::perimeter(void)
{
	return a+b+c;
}
double Triangle::area(void)
{
	double p,s;
	p=(a+b+c)/2;
	s=sqrt(p*(p-a)*(p-b)*(p-c));
	return s;
}
int main()
{
	Triangle tri1;	//定义三角形类的一个实例(对象)
	if (!tri1.setABC(4,5,6))	//为三边置初值
	{
		cout << "error" << endl;
		exit(-1);
	}
	double x,y,z;
	tri1.getABC (&x,&y,&z);   //将三边的值为x,y,z赋值
	cout<<"三条边为:"<<x<<'\t'<<y<<'\t'<<z<<endl;
	cout<<"三角形的周长为:"<< tri1.perimeter()<<'\t'<<"面积为:"<< tri1.area()<<endl;
	system("PAUSE");
	return 0;
}


总结:

bool  Triangle::setABC(double x, double y, double z)
{
	cout << "请输入边长A:";
	cin >> x;
	cout << "请输入边长B:";
	cin >> y;
	cout << "请输入边长C:";
	cin >> z;
	a = x;
	b = y;
	c = z;
	if(a<0||b<0||c<0||a+b<c||a+c<b||b+c<a)
		return false;
	else
		return true;
	if(a-b>c||a-c>b||b-c>a)
		return false;
	else
		return true;
}


 

当第一个if语句运行完,return返回时,这个函数就运行完了,不会再执行下一个if语句,所以应合在一起。

if(a<0||b<0||c<0||a+b<c||a+c<b||b+c<a||a-b<c||a-c<b||b-c<a)
		return false;
	else
		return true;
}


 

以下是一个使用Java实现三角形的示例代码: ```java public class Triangle { public static void main(String[] args) { // 打印三角形 5行 for (int i = 1; i <= 5; i++) { // 一个空白的倒三角形,对应图中1 for (int j = 5; j >= i; j--) { System.out.print(" "); } // 一个直角三角形,对应图中2 for (int j = 1; j <= i; j++) { System.out.print("*"); } // 一个直角三角形,对应图中3 for (int j = 1; j < i; j++) { System.out.print("*"); } System.out.println(); } } } ``` 这个实现了一个打印三角形的功能。它包含了三个for循环,第一个循环控制行数,第二个循环打印空白的倒三角形,第三个循环分别打印两个直角三角形。你可以根据需要修改行数和打印字符来实现不同型的三角形。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java代码实现三角形](https://blog.csdn.net/qq_53192419/article/details/125984830)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [java实现三角形](https://blog.csdn.net/weixin_61375386/article/details/124234472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值