如何将文件的特定部分读入私有数据成员
How to read the specific part of file into the private data members
我正在尝试读取 virtual void BillRecord::ReadCustDetails(ifstream &fin)
中包含客户详细信息的文本文件。代码工作正常,但我什至不知道如何读取整个地址和负值并将它们存储给私有成员。我尝试了以下代码,但输出错误。
文本文件:
Phone
Origin
George Carter
24 Dingo St Exeter SA
-0.018
28
Gas
EA
Paul Scott
21 Beach Rd Barham NSW
15.48786
356567
Elect
...
我的输出:
Origin
George
Carter
0
24
所需输出:
Origin
George Carter
24 Dingo St Exeter SA
-0.018
28
我的程序:
public:
BillRecord();
virtual void ReadCustDetails(ifstream &fin);
private:
BillType BType;
string Supplier; // Supplier's name
string Name, Address; // Customer's name and address
double BillAmount;// Amount in dollars and cents of this bill
int DaysSinceLastReading; // Days since last reading
};
virtual void BillRecord::ReadCustDetails(ifstream &fin)
{
fin >> Supplier;
getline(fin,Name);
getline(fin,Address);
fin >>AccountBalance;
fin >>BillAmount;
fin >>DaysSinceLastReading;
fin >>i;
DaysSinceLastReading=i;
//put the code here for reading the customer details part of the file
record only into the private data members
cout << Supplier<< endl;
cout << Name << endl;
cout << Address << endl;
cout << BillAmount << endl;
cout << AccountBalance << endl;
}
您的代码只有一些小问题。尝试更具体。除了这段代码之外,真正的问题是什么?你一定在其他功能上有问题。尝试 post 他们在这里。我已经尽力修复了。
void BillRecord::ReadCustDetails(ifstream &fin)
{
fin >> Supplier;
fin.ignore();
getline(fin,Name);
getline(fin,Address);
fin >> BillAmount;
fin >> AccountBalance;
fin >> DaysSinceLastReading;
cout << DaysSinceLastReading;
cout << Supplier << setw(16);
cout << Name << setw(27);
cout << Address << setw(15);
cout << BillAmount << setw(14);
cout << AccountBalance << setw(8);
cout << DaysSinceLastReading << setw(6);
}
我正在尝试读取 virtual void BillRecord::ReadCustDetails(ifstream &fin)
中包含客户详细信息的文本文件。代码工作正常,但我什至不知道如何读取整个地址和负值并将它们存储给私有成员。我尝试了以下代码,但输出错误。
文本文件:
Phone
Origin
George Carter
24 Dingo St Exeter SA
-0.018
28
Gas
EA
Paul Scott
21 Beach Rd Barham NSW
15.48786
356567
Elect
...
我的输出:
Origin
George
Carter
0
24
所需输出:
Origin
George Carter
24 Dingo St Exeter SA
-0.018
28
我的程序:
public:
BillRecord();
virtual void ReadCustDetails(ifstream &fin);
private:
BillType BType;
string Supplier; // Supplier's name
string Name, Address; // Customer's name and address
double BillAmount;// Amount in dollars and cents of this bill
int DaysSinceLastReading; // Days since last reading
};
virtual void BillRecord::ReadCustDetails(ifstream &fin)
{
fin >> Supplier;
getline(fin,Name);
getline(fin,Address);
fin >>AccountBalance;
fin >>BillAmount;
fin >>DaysSinceLastReading;
fin >>i;
DaysSinceLastReading=i;
//put the code here for reading the customer details part of the file
record only into the private data members
cout << Supplier<< endl;
cout << Name << endl;
cout << Address << endl;
cout << BillAmount << endl;
cout << AccountBalance << endl;
}
您的代码只有一些小问题。尝试更具体。除了这段代码之外,真正的问题是什么?你一定在其他功能上有问题。尝试 post 他们在这里。我已经尽力修复了。
void BillRecord::ReadCustDetails(ifstream &fin)
{
fin >> Supplier;
fin.ignore();
getline(fin,Name);
getline(fin,Address);
fin >> BillAmount;
fin >> AccountBalance;
fin >> DaysSinceLastReading;
cout << DaysSinceLastReading;
cout << Supplier << setw(16);
cout << Name << setw(27);
cout << Address << setw(15);
cout << BillAmount << setw(14);
cout << AccountBalance << setw(8);
cout << DaysSinceLastReading << setw(6);
}