This is the most likely reason. Read the problem carefully. It says that the rounding to 3 decimal digits should happen in function main. You are likely rounding the volume in the computeVolume function before you return the volume.
Why not round in the function? Different programs that might use this computeVolume function may require a different degree of accuracy. By returning the unrounded version, then the calling function can "decide" how much accuracy it needs for the volume.