FileObject读取不在文件中的输入,c ++

时间:2014-06-10 06:28:26

标签: c++ file-io ignore

我正在研究这个应该从文件中读取数据的程序,该文件的格式如下,Code#Salary。用户应该提供代码,程序应该在文件中找到该代码(如果存在)然后返回工资。但是,当我运行该程序时,我一直得到一个甚至不是其中一个选项的薪水。任何帮助或提示将不胜感激。

#include <iostream>
#include <fstream>
#include <string>

using namespace std;



int main()
{
 int code;
 double salary;
 int name;
 ifstream inFile;

 inFile.open("/Users/rsoni613/Desktop/payroll.txt");

 if (inFile)
 {
    cout << "Enter payroll code: ";
    cin >> code;

            do
            {
                inFile >> name;
            }
            while (code != name);

            inFile.ignore('#');
            inFile >> salary;
            inFile.close();
            cout << "Salary: $" << salary << endl; 

 }
 else
 {
    cout << "File did not open, please retry.";
 }
 return 0;
}

以下是输入文件的内容,payroll.txt

1#23400

4#17000

5#21000

6#12600

9#26700

10#18900

11#18500

13#12000

15#49000

16#56500

20#65000

21#65500

22#78200

23#71000

24#71100

25#72000

30#83000

31#84000

32#90000

1 个答案:

答案 0 :(得分:0)

double salary;

变量工资的类型为double。难怪你得到不同的结果。