我正在尝试创建一个解决给定多项式的根的程序,并且我想使用fstream来获取程序将要解决的多项式。基本上,有一个包含一些数字的文本文件,例如:
5
3
7
-5
0
7
-6
3
4
0
8
第一个数字将是多项式d的度数,从那里,程序将从值d倒计数到0.然后程序将输出类似"The polynomial whose roots you'd like to compute is 3x^5+7x^4-5x^3+7x-6"
的数字,从中提取每一行的价值。
我能够实现类似的功能,但不是从文本文件中提取数字,用户必须输入它。所述代码如下:
int main(int argc, char *argv[])
{
int n;
cout << "Enter the degree of your polynomial: ";
cin >> n;
double a[n];
for(int m = n; m >= 0; m--)
{
if(m == 0)
{
cout << "Please enter the constant: ";
}
else
{
cout << "Please enter the coefficient of x^" << m << ": ";
}
cin >> a[m];
}
cout<<endl<< "The polynomial you entered is: ";
for(int i = n; i >= 0; i--)
{
if(i == 0 && a[0] >0)
{
cout << " + " << a[0] ;
}
else if(a[i] == 1 && i == n)
{
cout << "x^" << i;
}
else if(a[i] == 1)
{
cout << " + x^" << i;
}
else if(a[i] == -1 && i == n)
{
cout << "-x^" << i;
}
else if(a[i] == -1)
{
cout << " - x^" << i;
}
else if(a[i] < -1&& i!=0)
{
cout << " - " << fabs(a[i]) << "x^" << i;
}
else if(i==n )
{
cout << a[i] << "x^" << i;
}
else if(i != 0 && a[i]>0)
{
cout << " + " << a[i] << "x^" << i;
}
else if(i==0&&a[0] < 0)
{
cout << " - " << fabs(a[0]);
}
如何使用fstream实现类似的功能?谢谢你的帮助!
答案 0 :(得分:0)
#include <fstream>
int main()
{
ifstream mystream("textfilename.txt");
int n;
mystream >> n;
}
除了需要声明ifstream之外,它几乎与使用cin相同。