0

我试图把我从这个增量中获得的答案;

for(int i=0; i<=n; i++)
  {
  Xnew = -i*(Y+R1)/n; //calculation for angles and output displayed to user

  Ynew = pow((((Y+R1)*(Y+R1)) - (Xnew*Xnew)), 0.5);

  cout<<"\n("<<Xnew<<", "<<Ynew<<")"<<endl;

  AngleB = acos(Xnew/pow((pow(Xnew, 2))+(pow(Ynew, 2)), 0.5))*(180/Pi);

  cout<<"\nAngle 'B' = "<<AngleB1<<" Degrees"<<endl;

  AngleV = acos(((pow(Xnew, 2))+(pow(Ynew, 2))+(pow(100, 2))-(pow(65, 2)))/(200*(pow(((pow(Xnew, 2))+(pow(Ynew, 2))), 0.5))))* (180/Pi);

  cout<<"Angle 'V' = "<<AngleV<<" Degrees"<<endl;
  AngleTheta1 = AngleB - AngleV;

  cout<<"Theta 1 = "<<AngleTheta1<<" Degrees"<<endl;

  AngleTheta2 =(asin(pow(((sin(AngleV*Pi/180))*(pow(((pow(Xnew, 2))+(pow(Ynew, 2))), 0.5))/65), 0.5)))*(180/Pi);

  cout<<"Theta 2 = "<<AngleTheta2<<" Degrees"<<endl;

  }

现在,根据用户为“n”选择的值,将出现一个包含“n”个值的列表。EG 所以如果 n = 2,我将得到 2 个坐标(Xnew,Ynew)和 4 个不同的角度。

现在,我们在将这些值输入 Excel 时遇到了麻烦,其中会出现一个带有标题的值表。我们尝试用 CSV 编写。格式,但我们只成功地让 Excel 在每一列中显示一个值,而不是我们想要的值列表(当 n>1 时)。

我们的项目的研究生助手为我们提供了这段代码,但仍然没有真正帮助。

// writing on a text file
   #include <iostream>
   #include <fstream>
   using namespace std;

   int main () {
   ofstream myfile ("h:\\test\\files\\example.txt");
   if (myfile.is_open())
   {
       myfile << "This is a line.\n";
       myfile << "This is another line.\n";
       myfile.close();
   }
   else cout << "Unable to open file";
   return 0;
   }

那么,是否有人对如何将我们的计算值放到 Excel 中,以我上面指定的格式显示有任何建议?再次感谢,希望问题足够清楚。

这里大致是我们之前尝试过的代码(尽管我们确实删除了它,所以可能并不完美)当我们得到损坏的单个值时。

在 int main(){

 std::ofstream file_out("Test.csv");

并在底部(在所有代码下方)

 file_out << "x, x2, x3" << std:endl;
 file_out << x << ", " << x2 << ", " << x3 << std::endl;

但是x、x2、x3都是上面指定的值(即AngleB、Xnew等)

4

1 回答 1

0

您将需要一个值表而不是一个列表才能使其工作

删除所有 cout 实例并替换为以下内容。

cout<<AngleB1<<" "<<AngleV<<" "<<AngleTheta1<<" "AngleTheta2<<" "<<endl;

您可以在循环运行之前将标题列表写入文件

于 2013-03-25T13:18:06.573 回答