c++ - 程序仅从文件中读取 15 个整数中的 6 个
问题描述
从 .data 文件读取时,我的程序只会读取 15 个数字中的 6 个,但是当它从 .txt 文件读取时,它将读取所有数字。我需要它从 .data 文件中读取所有 15 个数字。
这是代码:
string PromptUser(void)
{
ifstream infile;
string filename;
cout << "Please enter a file name:" << endl;
getline(cin, filename);
while (!infile)
{
cout << "Please enter a file name:" << endl;
getline(cin, filename);
}
return filename;
}
int ReadData(vector<int>& theData, ifstream& in)
{
int value;
if (in.is_open())
{
while (in >> value)
{
theData.push_back(value);
}
return 0;
}
else
{
return 1;
}
}
void ComputeStats(vector<int>& theData, double& mean, double& median)
{
double num = 0;
for (int val : theData)
{
num = num + val;
}
if (theData.size() != 0)
{
mean = num / theData.size();
}
else
{
cout << "yeee" << " " << theData.size();
exit(0);
}
int num2 = 0;
sort(theData.begin(), theData.end());
if (theData.size() % 2)
{
median = theData[(theData.size() / 2) + 1];
}
else
{
median = (theData[theData.size() / 2] + theData[theData.size()
/2])/2:
}
}
void DisplayStats(int num, double mean, double median)
{
cout << "********** Data Summary **********" << endl;
cout << "Number of Values: " << num << endl;
cout << "Mean Value: " << mean << endl;
cout << "Median Value: " << median << endl;
cout << "**********************************" << endl;
}
int main()
{
vector<int> theData;
string filename;
ifstream infile;
filename = PromptUser();
infile.open(filename);
int rtn = ReadData(theData, infile);
if (ReadData(theData, infile) == 1)
{
cerr << "The file could not be open " << endl;
return 0;
}
infile.close();
int numValues = theData.size();
double meanValue, medianValue;
ComputeStats(theData, meanValue, medianValue);
DisplayStats(numValues, meanValue, medianValue);
return 0;
}
.data 文件包含数字 23、45、9、1、09、24、23、45、81、24、9、13、9、86 和 12。而 .txt 文件包含相同的数字。但是程序说 .data 文件的大小只有 6,而 .txt 文件的大小是 15。我需要它来为我所在的班级正确读取 .data 文件。
解决方案
推荐阅读
- laravel - 将页面标题变量传递给布局应用程序视图 Laravel 组件
- powershell - 远程服务器上的 Powershell TLS1.2
- docker - 通过 Docker Compose 安装 Ory Kratos 配置
- embedded-linux - runqemu 命令的默认 Qemu 设置
- rest - 从服务中获取错误“提供的 uri 方案'https'是无效的预期'http”
- amazon-web-services - 有没有办法将预置产品的名称传递给 AWS 中的资源之一?
- maven - 只运行程序集:没有错误的单一目标
- php - EasyAdmin 3:如何检索编辑表单值
- vue.js - Vue JS 和 Drupal 8 集成
- php - 如何使用 ndash 将 utf-8 转换为 utf-16?