C++ 如何从记事本文件中取出数据并将其放入用户定义的函数中?
我的教授给我们布置了一个作业,我们必须要带一个数据文件,里面有一家电话公司的信息,并且要我们记下通话记录并找出最终的费用。我很确定我的功能还可以,但他没有真正解释如何从数据文件中提取信息。(他的例子很简单) 文件中的列分别表示电话号码、公司代码、本地分钟数和长途分钟数。这是我在函数中设置参数的顺序 我的代码:C++ 如何从记事本文件中取出数据并将其放入用户定义的函数中?,c++,file-io,user-defined-functions,C++,File Io,User Defined Functions,我的教授给我们布置了一个作业,我们必须要带一个数据文件,里面有一家电话公司的信息,并且要我们记下通话记录并找出最终的费用。我很确定我的功能还可以,但他没有真正解释如何从数据文件中提取信息。(他的例子很简单) 文件中的列分别表示电话号码、公司代码、本地分钟数和长途分钟数。这是我在函数中设置参数的顺序 我的代码: int main() { int pNumber; char company; int localMin; int longMin; ifstr
int main()
{
int pNumber;
char company;
int localMin;
int longMin;
ifstream infile;
ofstream outfile;
infile.open("e:/C++/Lab Assignments/Lab 6/phoneData.dat");
outfile.open("e:/C++/Lab Assignments/Lab 6/companyComparison.bat");
while(!infile.eof())
{
if(pNumber > 111000)
**infile >> companyA(int pNumber, char company, int localMin, int longMin); **
}
infile.close("e:/C++/Lab Assignments/Lab 6/phoneData.dat");
outfile.close("e:/C++/Lab Assignments/Lab 6/companyComparison.bat");
system("pause");
return 0;
}
我在主函数的while循环中遇到错误。我在有问题的代码行周围放了两个星号。我只是不知道如何解决这个问题。您不需要将数据“放置”到函数中,而是传递它们。这就是函数参数的用途。除此之外,
companyA(int pNumber, char company, int localMin, int longMin);
是一个函数声明,在这里根本没有位置
以下是使用您声明的变量但不使用的已编辑代码:
此外,
std::basic_fstream
没有接受某些参数(路径)的close
。请在课堂上观看并注意。欢迎来到SO!请将代码片段组装成一个完整的文件。几乎没有人会喜欢在帮你写作业代码之前先解决一个代码难题。“记事本文件”难道不是一个普通的文本文件吗?@Namit如果回答了你的问题,请随意接受答案。infle>>companyA(…)
没有意义。不应该只是函数调用吗?
// read to intermediate variables
while(infile >> pNumber >> company >> localMin >> longMin)
{
if(pNumber > 111000)
// just call the function, passing intermediate variables
companyA(pNumber, company, localMin, longMin);
}