Operations Between Numbers in C++

Здравейте, имам проблем относно тази задачата "Операции между числа".

С операциите събиране, изваждане, умножение няма проблем, там всичко е точно. Дори модулното деление ми излиза. Но когато го дебъгвам където трябва да изпише специално съобщение, че не може да се дели на 0, дебъгера ми изписва "Unhandled exception at 0x00AC0CC0 in OperationBetweenNumbers.exe: 0xC0000094: Integer division by zero.".

Такова съобщение за пръв път ми излиза и незнам къде греша. Моля някой да ми помогне, за да открия грешката си.

Благодаря предварително!

Това е кода ми:

#include <iostream>
using namespace std;

int main() {
    int N1, N2;
    cin >> N1 >> N2;
    string character;
    cin >> character;

    int intResult = 0;
    double result = 0.0;

    if (character == "+") {
        intResult = N1 + N2;
        if (intResult % 2 == 0) {
            cout << N1 << " " << character << " " << N2 << " = " << intResult << " - even" << endl;
        }
        else {
            cout << N1 << " " << character << " " << N2 << " = " << intResult << " - odd" << endl;
        }
    }
    else if (character == "-") {
        intResult = N1 - N2;
        if (intResult % 2 == 0) {
            cout << N1 << " " << character << " " << N2 << " = " << intResult << " - even" << endl;
        }
        else {
            cout << N1 << " " << character << " " << N2 << " = " << intResult << " - odd" << endl;
        }
    }
    else if (character == "*") {
        intResult = N1 * N2;
        if (intResult % 2 == 0) {
            cout << N1 << " " << character << " " << N2 << " = " << intResult << " - even" << endl;
        }
        else {
            cout << N1 << " " << character << " " << N2 << " = " << intResult << " - odd" << endl;
        }
    }

    if (character == "/") {
        result = N1 / N2;
        cout.setf(ios::fixed);
        cout.precision(2);
        cout << N1 << " " << character << " " << N2 << " = " << result << endl;
    }
    else if (character == "/" && N2 == 0) {
        cout << "Cannot divide " << N1 << " by zero" << endl;
    }

    if (character == "%") {
        result = N1 % N2;
        cout << N1 << " " << character << " " << N2 << " = " << result << endl;
    }
    else if (character == "%" && N2 == 0) {
        cout << "Cannot divide " << N1 << " by zero" << endl;
    }
    return 0;
}