在 visual studio 中创建 c++ 代码,在 g++ 中创建 运行
Creating c++ code in visual studio and running it in g++
我已经在 visual studio 中创建了 c++ 代码,但大学规范要求它需要 运行 在 g++ 编译器中。
该代码在 visual studio 中完美运行,但在 g++ 中根本不起作用。
为什么是这样?
有没有一种简单的方法可以使代码在 g++ 中工作?
这是我的代码。
#include <iostream>
#include <vector>
#include <cmath>
#include <iomanip>
#include <fstream>
using namespace std;
int main ()
{
vector<long double> G;
vector<long double> R;
int n=1;
long double result =1;
R.assign(2,0);
G.assign(2,123);
G.at(1)=321;
while (result >= 0.0000000000000001)
{
n++;
G.push_back((G.at(n-2) - G.at(n-1)));
R.push_back(G.at(n)/G.at(n-1));
result = abs(R.at(n) - R.at(n-1));
ofstream file;
file.open("series.txt", std ::ios_base ::app);
file << n <<"\t" << setw(14) << G.at(n)<<"\t<<setprecision(15)<<R.at(n)<<endl;
//cout << n <<"\t" <<setw(14)<<G.at(n)<<"\t"<<setprecision(15)<<R.at(n)<<endl;
file.close();
}
system("pause");
}
我认为交叉编译没有问题,尽管据我所知 linux 系统上没有 system("pause")
。
错误是缺少终止符。这是由于在第二个 \t
处遗漏了引号
这个
file << n <<"\t" << setw(14) << G.at(n)<<"\t<<setprecision(15)<<R.at(n)<<endl;
应该是这个
file << n <<"\t" << setw(14) << G.at(n)<<"\t"<<setprecision(15)<<R.at(n)<<endl;
要使用 system()
功能,您必须将 #include <stdlib.h>
添加到您的项目并更改
file << n <<"\t" << setw(14) << G.at(n)<<"\t<<setprecision(15)<<R.at(n)<<endl;
到
file << n <<"\t" << setw(14) << G.at(n)<<"\t"<<setprecision(15)<<R.at(n)<<endl;
然后用 g++ 编译 100%。
我已经在 visual studio 中创建了 c++ 代码,但大学规范要求它需要 运行 在 g++ 编译器中。
该代码在 visual studio 中完美运行,但在 g++ 中根本不起作用。 为什么是这样? 有没有一种简单的方法可以使代码在 g++ 中工作?
这是我的代码。
#include <iostream>
#include <vector>
#include <cmath>
#include <iomanip>
#include <fstream>
using namespace std;
int main ()
{
vector<long double> G;
vector<long double> R;
int n=1;
long double result =1;
R.assign(2,0);
G.assign(2,123);
G.at(1)=321;
while (result >= 0.0000000000000001)
{
n++;
G.push_back((G.at(n-2) - G.at(n-1)));
R.push_back(G.at(n)/G.at(n-1));
result = abs(R.at(n) - R.at(n-1));
ofstream file;
file.open("series.txt", std ::ios_base ::app);
file << n <<"\t" << setw(14) << G.at(n)<<"\t<<setprecision(15)<<R.at(n)<<endl;
//cout << n <<"\t" <<setw(14)<<G.at(n)<<"\t"<<setprecision(15)<<R.at(n)<<endl;
file.close();
}
system("pause");
}
我认为交叉编译没有问题,尽管据我所知 linux 系统上没有 system("pause")
。
错误是缺少终止符。这是由于在第二个 \t
这个
file << n <<"\t" << setw(14) << G.at(n)<<"\t<<setprecision(15)<<R.at(n)<<endl;
应该是这个
file << n <<"\t" << setw(14) << G.at(n)<<"\t"<<setprecision(15)<<R.at(n)<<endl;
要使用 system()
功能,您必须将 #include <stdlib.h>
添加到您的项目并更改
file << n <<"\t" << setw(14) << G.at(n)<<"\t<<setprecision(15)<<R.at(n)<<endl;
到
file << n <<"\t" << setw(14) << G.at(n)<<"\t"<<setprecision(15)<<R.at(n)<<endl;
然后用 g++ 编译 100%。