Зачем с этим страдать, почему нельзя сократить или использовать символьное обозначение?
Но если очень хочется
Число кончается на 2, 3, 4 и предпоследняя цифра не 1 - градуса
Число кончается на 1 и предпоследняя цифра не 1 - градус
В остальных случаях - градусов
std::string getAngleRus(int number) {
int lastDigit = number % 10;
int secondLastDigit = (number / 10) % 10;
if (secondLastDigit == 1) {
return "градусов";
}
if (lastDigit == 1) {
return "градус";
} else if (lastDigit >= 2 && lastDigit <= 4) {
return "градуса";
}
return "градусов";
}