Как не повторять весь код, если после условного оператора меняется сравнение?

Если вам нужно выполнить некоторый код в зависимости от разных условий, но изменяется только сравнение, то для избежания повторения кода можно использовать конструкцию switch-case.

Конструкция switch-case позволяет сравнивать выражение с несколькими значениями и выполнять соответствующий блок кода. В данном случае можно использовать switch-case для проверки разных условий, при которых изменяется сравнение.

Пример:

int main() {
    int num = 10;
    int comparison = 1; // Входное значение, указывающее на тип сравнения

    switch (comparison) {
        case 1:
            if (num > 5) {
                // Код, выполняющийся при сравнении num > 5
            } else {
                // Код, выполняющийся при несоответствии условию num > 5
            }
            break;

        case 2:
            if (num < 10) {
                // Код, выполняющийся при сравнении num < 10
            } else {
                // Код, выполняющийся при несоответствии условию num < 10
            }
            break;

        case 3:
            if (num == 15) {
                // Код, выполняющийся при сравнении num == 15
            } else {
                // Код, выполняющийся при несоответствии условию num == 15
            }
            break;

        default:
            // Код, выполняющийся по умолчанию, если значение comparison не совпадает ни с одним из case
            break;
    }

    return 0;
}

В данном примере переменная "comparison" определяет, какое сравнение будет выполнено. Внутри каждого case из switch заданы соответствующие проверки и соответствующий код, который будет выполняться при выполнении соответствующего условия. Если ни одно из сравнений не совпадает со значением "comparison", выполнится блок кода внутри default.

Таким образом, использование конструкции switch-case позволяет сократить повторение кода, при изменении только условия сравнения.