我不确定如何输入我的数据。抱歉,我是个菜鸟,我为此类事情找到的唯一示例太复杂了,我无法理解发生了什么。我知道这甚至不接近正确,但我不知道如何从文件中设置输入。我的文件数据如下所示:
986 8
432 24
132 100
123 89
329 50
503 30
783 78
822 32
233 56
322 74
到目前为止,我的程序如下所示:
#include <iostream>
#include <fstream>
using namespace std;
// This program defines a class called Inventory that has itemnumber (which
// contains the id number of a product) and numofitem (which contains the
// quantity on hand of the corresponding product)as private data members.
// The program will read these values from a file and store them in an
// array of objects (of type Inventory). It will then print these values
// to the screen.
// Example: Given the following data file:
// 986 8
// 432 24
// This program reads these values into an array of objects and prints the
// following:
// Item number 986 has 8 items in stock
// Item number 432 has 24 items in stock
const int NUMOFPROD = 10; // This holds the number of products a store sells
class Inventory
{
public:
void getId(int item); // This puts item in the private data member
// itemnumber of the object that calls it.
void getAmount(int num); // This puts num in the private data member
// numofitem of the object that calls it.
void display(); // This prints to the screen
// the value of itemnumber and numofitem of the
// object that calls it.
private:
int itemNumber; // This is an id number of the product
int numOfItem; // This is the number of items in stock
};
int main()
{
ifstream infile; // Input file to read values into array
infile.open("inventory.dat");
// Fill in the code that declares an array of objects of class Inventory
// called products. The array should be of size NUMOFPROD
Inventory products[NUMOFPROD];
int pos; // loop counter
int id; // variable holding the id number
int total; // variable holding the total for each id number
// Fill in the code that will read inventory numbers and number of items
// from a file into the array of objects. There should be calls to both
// getId and getAmount member functions somewhere in this code.
// Example: products[pos].getId(id); will be somewhere in this code
pos = 0;
while(NUMOFPROD > pos++ && infile >> products[pos])
{
id = products[pos];
products[pos].getId(id);
//products[pos].getAmount(total);
}
infile.close();
// Fill in the code to print out the values (itemNumber and numOfItem) for
// each object in the array products.
// This should be done by calling the member function display within a loop
pos = 0;
while(NUMOFPROD > pos++)
{
products[pos].display();
}
return 0;
}
// Write the implementations for all the member functions of the class.
void getId(int item)
{
itemNumber = item;
}
void getAmount(int num)
{
numOfItem = num;
}
void display()
{
cout << itemNumber << " ";
}
要从文件输入和输入,请执行以下操作:
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ifstream fin("YourTxtFile.txt");
fin >> something //Fin acts just like your standard cin
fin.close() //Don't forget to close the stream when you're done!
}
如果要输出到文件,请执行以下操作:
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ofstream fout("YourTxtFile.txt");
fout >> something //Fout acts just like your standard cout
fout.close() //Don't forget to close the stream when you're done!
}
您也可以同时进行!
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ifstream fin("YourTxtFile1.txt");
fin >> something //Fin acts just like your standard cin
fin.close() //Don't forget to close the stream when you're done!
ofstream fout("YourTxtFile2.txt");
fout >> something //Fout acts just like your standard cout
fout.close() //Don't forget to close the stream when you're done!
}
只是为了让您知道,fin 和 fout 可以随心所欲地命名。
如果这篇文章回答了您的问题,请将其标记为答案。
谢谢
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句