Here's the pseudocode for the analyzer:
infile := open "data.txt"
for reading
if infile failed then
exit with error sum := 0, count := 0
minVal := infinity, maxVal := -infinity
while infile >> value succeeds do
sum := sum + value count := count + 1
if value < minVal then
minVal := value
if value > maxVal then
maxVal := value
close infile outfile := open "report.txt"
for writing
if outfile failed then
exit with error outfile << "Count: " << count << newline
outfile << "Min: " << minVal << newline
outfile << "Max: " << maxVal << newline
outfile << "Average: " << (sum / count) << newline
close outfile