Как прочитать определенную часть файла в личных данных членов - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь прочитать текстовый файл в 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;
}

1 Ответ

0 голосов
/ 07 августа 2018

Ваш код имеет только незначительные проблемы.попробуйте быть более конкретным.в чем реальная проблема, кроме этого кода?у вас должны быть проблемы с другими функциями.Попробуйте разместить их здесь.Я пытался починить столько, сколько мог.

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);
}
...