You can use fixed, setprecision, setw, and other formatting tools. This lets you create nicely formatted reports with aligned columns and controlled decimal places.
Track statistics incrementally while reading. For minimum and maximum, update them whenever you see a smaller or larger value. For average, accumulate the sum and count, then divide at the end.
This processes any size file in one pass. Handle the empty file edge case. If you read zero values, you can't compute an average or meaningful min/max. Check your count before dividing to avoid division by zero.
Report an error or special message for empty input.