Reputation: 17
I'm new to coding. I got this assignment that I almost completed but stuck on the last step. My teacher gave us positive integer file. A task is to find a total for each line and output total for a line and also total for all of the numbers in the file. I got line total working fine, but when I try to do a total of all the numbers I get the wrong answer.
Please review my code and tell me what am I doing wrong.
Here's the code:
#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;
}
and file with numbers:
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
Upvotes: 0
Views: 177
Reputation: 556
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 :)
Upvotes: 1