我试图创建一个简单的程序,可以将文件(inventory.txt)中的数据读入结构,然后将该结构输出给用户。每次运行程序时,如果文件中的一部分(带空格)有任何内容,则其余的数据将被省略。 到目前为止,这是我的代码;
# include <fstream>
# include <iostream>
# include <string>
# include <iomanip>
using namespace std;
struct inven
{
int part,quant;
string descript;
float price;
};
int main()
{
cout << setprecision (2) << fixed;
inven inventory[100];
ifstream filein;
ofstream fileout;
filein.open ("inventory.txt");
if (filein.good())
{
for (int i = 0; i < 100; i++)
{
filein >> inventory[i].part;
getline (filein, inventory[i].descript);
filein >> inventory[i].quant;
filein >> inventory[i].price;
};
}
else
{
fileout.open ("inventory.txt", ios::trunc);
}
for (int i = 0; i < 100; i++)
{
cout << "Part Number: " << inventory[i].part << endl;
cout << "Quantity: " << inventory[i].quant << endl;
cout << "Description: " << inventory[i].descript << endl;
cout << "Price per item: $" << inventory[i].price << endl;
cout << "Total price: $" << inventory[i].quant * inventory[i].price << endl << endl << endl;
if (inventory[i+1].part == 0)
{
i=100;
}
}
return 0;
}
我的文字文件目前看起来像;
1
hammer
10
10
上面的文本文件实际上只是一个示例文件,成品应该能够处理100种不同的产品。
提前致谢。