comarea.cpp

来自「面向软件工程的Visual C++网络程序开发」· C++ 代码 · 共 36 行

CPP
36
字号
// ComArea.cpp : Implementation of CComArea
#define INITGUID

#include "stdafx.h"
#include "AreaSvr.h"
#include "ComArea.h"

//////////////////////////////////////////////////////////////////////
// IComArea 接口实现
//////////////////////////////////////////////////////////////////////
STDMETHODIMP
CComArea::TriangleArea(TRIANGLE_INFO* pInfo, double* pArea)
{
	// 海伦公式
	double s = (pInfo->a + pInfo->b + pInfo->c) / 2;
	*pArea = sqrt(s * (s - pInfo->a) * (s - pInfo->b) * (s - pInfo->c));
	return NOERROR;
}

STDMETHODIMP
CComArea::RectangleArea(RECTANGLE_INFO* pInfo, double* pArea)
{
	// 长×宽
	*pArea = (pInfo->w * pInfo->h);
	return NOERROR;
}

STDMETHODIMP
CComArea::CircleArea(CIRCLE_INFO* pInfo, double* pArea)
{
	// 圆周率×半径平方
	static const double PI = 3.14159;
	*pArea = (PI * pInfo->r * pInfo->r);
	return NOERROR;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?