If I'm understanding you correctly, what you want is something like this:
add .5 to your total, then use floor() (in <cmath>, I think) to round it off. If the original number should round up, you'll have gone up past the rounded up number, and floor() will give the correct round up number. If you need to round down, the max you'll reach is .9, and will then round down.
You could do the same thing by subtracting .5 and using ceil() instead.
double x = 1.4; // start with a value, should round down to 1
x += 0.5; // add .5, x now equals 1.9
x = floor(x); // x rounded up to 1
double y = 1.6; // start with a value, should round up to 2
y += 0.5; // add .5, y now equals 2.1
y = floor(y); // y rounded up to 2