C++实验四源码

发布于 2018-05-15  9 次阅读


 

//【项目1】设计函数,将华氏温度转换为摄氏温度,转换公式如下:
//C = (F - 32) * 5 / 9
//【项目2】设计函数,判断某年份是否为闰年。要求函数原型如下:
//Bool  IsLeapYear(int);
//【项目3】设计函数,根据三角形的三边长求面积。如果不能构成三角形,给出提示信息。

#include <iostream>
using namespace std;

//函数声明:
float temperature(float f);
bool IsLeapYear(int y);
float triangle(float a, float b, float c);
//函数声明必须写在使用的函数前面

void shiyan4()
{
	int xuanze, result;
	float x, y, z;
	cout << "请输入数字以选择你想进行的运算" << endl;
	cout << "1.设计函数,将华氏温度转换为摄氏温度" << endl;
	cout << "2.设计函数,判断某年份是否为闰年" << endl;
	cout << "3.设计函数,根据三角形的三边长求面积。如果不能构成三角形,给出提示信息" << endl;
	cout << "0.返回上一级" << endl;
	cout << endl;
	cout << "请输入你想进行的运算:";
	cin >> xuanze;
	cout << endl;
	switch (xuanze)
	{
	case (1)://1.设计函数,将华氏温度转换为摄氏温度
	{
		cout << "请输入要转换的华氏温度:";
		cin >> x;
		cout << x << "℉  转换为摄氏度为:" << temperature(x) << "℃  " << endl;
		break;
	}
	case (2)://2.设计函数,判断某年份是否为闰年
	{
		cout << "请输入年份:";
		cin >> x;
		result = IsLeapYear(x);//将IsLeapYear(x)的结果直接赋值给result,是为了减少程序运算量
		cout << "函数返回的原始数据为:" << result << endl;//这句话用于直观地看到函数返回的值
		if (result == 0)//如果返回的值是“0”,则意为“y%4=0,年数可以被整除”
		{
			cout << x << "年是闰年" << endl;
		}
		else//如果返回的值是“1”,则意为“y%4=一个非0的数,年数不可以被整除”
		{
			cout << x << "年不是闰年" << endl;
		}
		break;
	}
	case (3)://3.设计函数,根据三角形的三边长求面积。如果不能构成三角形,给出提示信息
	{
		cout << "请输入三角形的第一个边a:";
		cin >> x;
		cout << endl << "请输入三角形的第二个边b:";
		cin >> y;
		cout << endl << "请输入三角形的第三个边c:";
		cin >> z;
		cout << endl << "你要计算的三角形的三条边参数是:" << "a=" << x << "  ,  b=" << y << "  ,  c=" << z << endl;
		result = triangle(x, y, z);//将triangle(x, y, z)的结果直接赋值给result,是为了减少程序运算量
		cout << "函数返回的原始数据为:" << result << endl;//这句话用于直观地看到函数返回的值
		if (result != -1)
		{
			cout << "该三角形的面积是:" << result << endl;
		}
		else
		{
			cout << "所给数据不能组成三角形" << endl;
		}
		break;
	}
	case (0):goto exit; break;//退出
	default:
		cout << "请输入1-3之间的数字!" << endl << endl << endl;
		getchar();
		cout << endl << endl << endl;
		break;//输入数值以外的数字
	}
exit:;
}

//【项目1】设计函数,将华氏温度转换为摄氏温度,转换公式如下:
//C = (F - 32) * 5 / 9
float temperature(float f)
{
	float c;
	c = (f - 32.0) * 5 / 9.0;
	return c;
}

//【项目2】设计函数,判断某年份是否为闰年。要求函数原型如下:
//Bool  IsLeapYear(int);
bool IsLeapYear(int y)
{
	return y % 4;
}
//bool函数使用说明:当return一个非0的数时,return的结果永远是“1”,意为“false”
//					当return一个“0”时,return的结果是“0”,意为“ture”

//【项目3】设计函数,根据三角形的三边长求面积。如果不能构成三角形,给出提示信息。
float triangle(float a, float b, float c)
{
	float p, s;;
	if (a + b > c && a + c > b && b + c > a)
	{
		p = (a + b + c) / 2;
		s = sqrt((p*(p - a)*(p - b)*(p - c)));//S=√[p(p-a)(p-b)(p-c)]
		return s;
	}
	else
	{
		return -1;//因为三角形的面积不可能为 -1 ,所以用 -1 当做不能组成三角形时所返回的值
	}
}

 


无聊的并不是这段时光,而是与别人相似的自己。