Jest kilka błędów.
Po pierwsze, co mi się rzuciło w oczy, to urzywasz na przemian cout i printf(). W dodatku nie masz #include <stdio.h>. W kompilatorze MS, może to działa, ale w g++ już nie.
Po drugie nie sprawdzasz poprawności wprowadzonych danych - są takie fajne metody, jak cin.good(), cin.fail(), cin.flush(), cin.clear().
Nie pozwalasz na dzielenie zera przez nie zero.
Nie sprawdzasz przy dzieleniu, czy nie dzielisz -2147483648 przez -1. Wiem, że dla początkujących jest to mało intuicyjne, ale musisz to sprawdzać, bo wynikiem powinno być 2147483648, które nie zmieści się w int, więc poleci exception i system zabije twój proces.