扭矩和直径计算

时间:2018-01-29 06:23:24

标签: c++

有一个我正在构建的程序,我需要计算扭矩和直径。我在语法上有两个方程,但我的输出保持为零。我错过了什么/做错了什么? (免责声明:我对此非常陌生,所以请,我欢迎建设性的批评!有什么可以帮助我变得更好。谢谢)。

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;

double p, n, s, t, d; 
int main()
{

     cout << "Enter values for horsepower (p), rpm (n) and shear strength(s): ";
     cin >> p, n, s;

         t = 6300 * p / n;
         d = pow((16 * t) / s, 0.333);

     cout << setw(10) << "HP " << p << endl;
     cout << setw(10) << "rpm " << n << endl;
     cout << setw(10) << "psi " << s << endl;
     cout << setw(10) << "torque " << t << endl;
     cout << setw(10) << "diameter " << d << endl;



return 0;
}

//Output:
/*Enter values for horsepower (p), rpm (n) and shear strength (s): 20 1500 5000
   HP 20
  rpm 0
  psi 0
  torque inf
  diameter inf */

2 个答案:

答案 0 :(得分:1)

行的意图

 cout << "Enter values for horsepower (p), rpm (n) and shear strength(s): ";
 cin >> p, n, s;

未在代码中正确表示。

第二行不会将任何内容读入ns。它是一个使用comma operator的表达式。在这种特殊情况下,它会评估ns并丢弃这些值。

好像你有:

 cin >> p;
 n;
 s;

将该行更改为:

 cin >> p >> n >> s;

您也可以使用详细信息:

 cin >> p;
 cin >> n;
 cin >> s;

答案 1 :(得分:0)

以这样的方式输入您的输入(cin&gt;&gt;&gt;&gt;&n;&gt;&gt;&s;)并在您之前打印的结果计算后打印结果。

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;

double p, n, s, t, d;
int main()
{

     cout << "Enter values for horsepower (p), rpm (n) and shear strength(s): ";
 //    cin >> p, n, s;
        cin >> p >> n >> s;
     cout << setw(10) << "HP " << p << endl;
     cout << setw(10) << "rpm " << n << endl;
     cout << setw(10) << "psi " << s << endl;

     t = 6300 * p / n;
     d = pow((16 * t) / s, 0.333);

     cout << setw(10) << "torque " << t << endl;
     cout << setw(10) << "diameter " << d << endl;


return 0;
}