gpt4 book ai didi

c++ - 读取 .txt 文件,计算总和和均值

转载 作者:行者123 更新时间:2023-11-30 05:37:25 26 4
gpt4 key购买 nike

我有一个包含数字的 .txt 文件,如下所示:

1
2
3

等等

数字并不重要,但它们都从新的一行开始。

然后我想找到文本文件中数字的总和和平均值。

这是我目前所拥有的:

#include<cmath>
#include<cstdlib>
#include<iomanip>
#include<string>
#include<fstream>
using namespace std;

int main(int argc, char * argv[])
{
std::fstream myfile("numbers.txt", std::ios_base::in);

float a;
while (myfile >> a)
{
printf("%f ", a);
}

getchar();

return 0;

int sum(0);
int sumcount(0);
double average(0);
int even(0);
int odd(0);

ifstream fin;

string file_name;

int x(0);

cout<<"numbers.txt";
cin>> file_name;
fin.open(file_name.c_str(),ios::in);

if (!fin.is_open())
{
cerr<<"Unable to open file "<<file_name<<endl;
exit(10);

}

fin>>x;
while (!fin.fail())
{
cout<<"Read integer: "<<x<<endl;
fin>>x;
sum=sum+x;
sumcount++;
if(x%2==0)
even++;
else
odd++;

}

fin.close();
average=(double)sum/sumcount;
cout<<"Sum of integers: "<<sum<<endl;
cout<<"Average: "<<average<<endl;
cout<<"Number of even integers: "<<even<<endl;
cout<<"Number of odd integers: "<<odd<<endl;

return 0;
}

开始加载数字但不会执行下一步。

我看了很多其他代码并尝试实现其他想法来解决问题;但是,有些人使用循环、数组和其他东西,我不确定该使用哪个。

如何让我的程序找到文件中数字的总和和平均值?

还有任何其他帮助链接将不胜感激

编辑:虽然数字是整数,但平均值可能不是

最佳答案

这是您的工作代码。

#include <cmath>
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <string>
#include <fstream>


using namespace std;

int main(int argc, char * argv[])
{
std::fstream myfile("numbers.txt", std::ios_base::in);

float a = 0;

myfile >> a;

while (!myfile.fail())
{
printf("%f ", a);
myfile >> a; // here you dispay your numbers
}

getchar(); // waiting for input

float sum(0);
int x(0);
int sumcount(0);
double average(0);
int even(0);
int odd(0);

ifstream fin;

string file_name;

cout<<"numbers.txt" << endl;

cin>> file_name; // waiting for enter file name

fin.open(file_name.c_str(),ios::in);

if (!fin.is_open())
{
cerr<<"Unable to open file "<<file_name<<endl;
exit(10);
}

fin >> x;

while (!fin.fail())
{
cout<<"Read integer: "<<x<<endl; // display number again

sum=sum+x;
sumcount++;
if(x % 2==0) // compuing your file statistics
even++;
else
odd++;

fin>>x;
}

fin.close();
average=(double)sum/sumcount;

cout<<"Sum of integers: "<<sum<<endl; // displaying results
cout<<"Average: "<<average<<endl;
cout<<"Number of even integers: "<<even<<endl;
cout<<"Number of odd integers: "<<odd<<endl;

return 0;
}

我添加了一些最小的更改以使您的程序正常工作。

结果

enter image description here

还有更多

enter image description here

关于c++ - 读取 .txt 文件,计算总和和均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33247804/

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