gpt4 book ai didi

c++ - 在 C++ 中从文本文件中读取数值数据

转载 作者:行者123 更新时间:2023-11-28 00:25:03 25 4
gpt4 key购买 nike

这是一个需要编写代码从文件中读取数据的程序。该文件如下所示:

1234 200.55
5678 1234.56
9876 2.33

我需要将第一个数字存储为帐号,将第二个数字存储为帐户余额。

#include<iostream>
#include<fstream>
using namespace std;

const int MAX_NUM=100;
int read_accts(int acctnum[], double balance[], int max_accts);

int main()
{
int acctnum[MAX_NUM];
double balance[MAX_NUM];
int max_accts=0;
int num_accts;

num_accts = read_accts(acctnum,balance,max_accts);

return 0;
}

int read_accts(int acctnum[],double balance[],int max_accts)
{
ifstream infile;
infile.open("information");

while (infile >> acctnum[max_accts] && max_accts < MAX_NUM)
{
infile >> balance[max_accts];
max_accts++;
}
for (int i=0; i<=max_accts; i++)
{
cout << acctnum[i]<<endl;
cout << balance[i]<<endl;
}
infile.close();
return max_accts;
}

这个程序的输出是

0
0

它应该和文本文件一样。它不应该是 0 和 0。

在此先感谢任何帮助。

最佳答案

首先,您在每个数组中打印了太多元素。打印循环应该从 0 运行到 max_accts(不包括),如下所示:

 for (int i=0; i < max_accts; i++)

现在,由于您正在尝试读取名为“information”的文件,因此我已经使用您问题中描述的内容创建了此类文件并运行了您的代码。我得到的输出是:

1234
200.55
5678
1234.56
9876
2.33

这看起来像你想要得到的(而不是零),所以你的代码似乎工作正常。也许您没有打开正确的文件?

将文件名从“information”更正为其他名称,或者确保在当前工作目录中有一个名为“information”的文件。

关于c++ - 在 C++ 中从文本文件中读取数值数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25469379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com