Arredondando para cima e para baixo um número C ++

Estou tentando permitir que meu programa arredonde um número para cima e para baixo, respectivamente.

Por exemplo, se o número for3.6, meu programa deve arredondar o número mais próximo que é 4 e se o número for3.4, será arredondado para 3.

Eu tentei usar oceil biblioteca para obter a média de 3 itens.

results = ceil((marks1 + marks2 + marks3)/3)

No entanto, oceil apenas arredonda o número para baixo, mas não o rola para cima.

Existe um algoritmo que eu encontrei

var roundedVal = Math.round(origVal*20)/20;

mas ainda não consigo descobrir uma fórmula para algum problema.

questionAnswers(5)

yourAnswerToTheQuestion