图形面积计算(C++实现)

  • 实验目的

掌握函数指针的使用方法。

  • 实验原理

分别定义三角形和矩形面积计算函数,并以函数指针的形式作为a r e a areaarea函数的第三个参数,计算图形面积的时候直接调用a r e a areaarea函数即可。

  • 实验内容

题目: 使用函数指针实现三角形和矩形面积计算函数的统一封装double area(double x, double y, double (*area_func)(double x, double y))。
要求

  • 分别实现三角形和矩形面积计算函数;
  • 从命令行读入待计算图形类型,待计算图形参数(如对三角形而言是底和高,对矩形而言是长和宽)。
  • 实验结果(含源码)

#include<iostream>
using namespace std;
double(*area_func)(double x, double y);

double triagle_S(double x, double y){	//x、y分别为三角形的底和高
	return x * y / 2;
}

double rectangle_S(double x, double y){//x、y分别为矩形的长和宽
	return x * y;
}

double area(double x, double y, double area_func(double x, double y)) {
	return area_func(x, y);
}

int main(){
	double x, y, z;
	cout << "计算三角形请按1,计算矩形请按2:" << endl;
	cin >> z;
	if (z != 1 && z != 2) {
		cout << "没有该选项" << endl;
		return -1;
	}
	cout << "请输入图形参数:" << endl;
	cin >> x >> y;
	if (x <= 0 || y <= 0) {
		cout << "参数错误" << endl;
		return -1;
	}
	if (z == 1) {
		cout << "图形面积为:" << area(x, y, triagle_S) << endl;;
	}
	else  {
		cout << "图形面积为:" << area(x, y, rectangle_S) << endl;;
	}
	
	system("pause");
	return 0; 
}

三角形面积计算
输入三角形底边长和高分别为5 554.4 4.44.4,计算得面积为11 1111
三角形面积计算
矩形面积计算:
输入矩形长和宽分别为5 554.4 4.44.4,计算得面积为22 2222
矩形面积计算


版权声明:本文为LeopoldZhang2000原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。