我正在研究这个应该从文件中读取数据的程序,该文件的格式如下,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
答案 0 :(得分:0)
double salary;
变量工资的类型为double
。难怪你得到不同的结果。