渐开线函数工具

#include <iostream>
#include <windows.h>
#include <math.h>
#include <stdio.h>
#include <iomanip> 
#define PI 3.1415926
using namespace std;
double  inv(double a)
{	
	return tan(a)-a;
}
int main()
{

	int i;
	while(1)
	{
	std::cout<<"****************************"<<endl;
	std::cout<<"*请输入要计算的项目序号:  *"<<endl;
	std::cout<<"*0.退出程序.               *"<<endl;
	std::cout<<"*1.渐开线函数值.           *"<<endl;
	std::cout<<"*2.反渐开线函数.           *"<<endl;
	std::cout<<"*3.渐开线函数的比值.       *"<<endl;
	std::cout<<"****************************"<<endl;
	std::cin>>i;
	system("cls");
	switch(i)
	{
		case 0:return 0;
		case 1:
			{
				double a;
				std::cout<<"请输入十进制压力角:";
				std::cin>>a;
				std::cout<<"渐开线函数值:"<<inv(a*PI/180)<<endl;
			}break;
		case 2:
			{
				double sum,a,b,c;
				std::cout<<"请输入渐开线函数值:";
				std::cin>>sum;
				a=0;b=atan(1.0)*2;
				while(b-a>1e-12)
					{   
						c=(a+b)/2;
						inv(c)>sum?b=c:a=c;
					}	
				std::cout<<"反渐开线函数值为:"<<(a+b)/2/atan(1.0)*45<<"度"<<endl;	
			} break;
			case 3:
			{
				double a,b;
				std::cout<<"请输入法向压力角值:";
				std::cin>>a;
				std::cout<<"请输入螺旋角的值:";
				std::cin>>b;
				std::cout<<"渐开线函数的比值"<< fixed << setprecision(6) <<inv(atan(tan(a*PI/180)/cos(b*PI/180)))/inv(a*PI/180)<<endl;
			}break;
	}

	}
	system("pause");
} 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熊猫Devin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值