c++ - 从文件输入和输出
问题描述
我是编码新手。我得到了这个我几乎完成但停留在最后一步的任务。我的老师给了我们正整数文件。一个任务是找到每一行的总和,输出一行的总和,以及文件中所有数字的总和。我的总行工作正常,但是当我尝试计算所有数字的总和时,我得到了错误的答案。
请检查我的代码并告诉我我做错了什么。
这是代码:
#include <iostream>
#include <string>
#include <fstream>
#include<iomanip>
using namespace std;
int main()
{
ifstream infile; ofstream outfile;
int counter, counter2, line, sum, num;
double total;
infile.open("E:\\Lab assignments\\numberfile.txt");
if (!infile)
{
cout << "File not found, closing program" << endl;
system("pause");
exit(1);
}
outfile.open("E:\\Lab assignments\\outfile.txt");
if (!outfile)
{
cout << "Output file could not be created, closing program" << endl;
system("pause");
exit(1);
}
while (!infile.eof())
for (counter = 1; counter <= 8; counter++)
{
sum = 0;
if (counter != 9)
{
for (line = 1; line < 8; line++)
{
infile >> num;
outfile << right;
outfile << setw(6);
outfile << num << " ";
sum = sum + num;
outfile << " ";
}
outfile << "Total per line = " << sum;
outfile << endl;
}
}
total = 0;
for (counter2 = 0; counter2 <= 8; counter2++)
{
{
infile >> sum;
total = total + sum;
}
}
outfile << "All numbers total= " << total;
infile.close();
outfile.close();
return 0;
}
并带有数字的文件:
346 130 982 90 656 117 595 415 948 126 4 558 571 87 42 360 412 721 463 47 119 441 190 985 214 509 2 571 77 81 681 651 995 93 74 310 9 995 561 92 14 288 466 664 892 8 766 34 639 151 64 98 813 67 834 369
解决方案
Computation of total sum and sum for each line in the same loop will significantly simplify your task and it will remove hidden problems in your code. Be simple :)
推荐阅读
- opencart - OpenCart cookie 的问题
- tensorflow - 如何微调通用句子编码器 3 嵌入到自己的语料库
- python - Pandas 中的多索引合并、连接或连接
- arrays - 如何比较和添加数组的元素
- python - 通过允许容差匹配两个包含稍微不同的浮点值的列表
- hibernate - Java Persistence:根据运行时参数连接不同的列
- node.js - 如何正确使用 Buffer.from?
- java - 如何使用“DFLT-X”方法编写 Zip 文件
- orientdb - OrientDB 不会删除属性
- hibernate - Spring data JPA - 动态 SQL 执行