Хочу узнать мнение хороших программистов на C(СИ) о моем калькуляторе, можно каких-нибудь советов?
А где обработчик деления на 0?
Если юзер введет нецелые числа?
А если при делении юзер введет например 5 и 3. А у тебя переменная целого типа.
Ты нарушил принцип DRY.

Код такой себе.
Ну... для первого проекта пойдет - все равно как правило первый проект - это место набивания шишек и натыкания на общие места...

Юзер - дебил! Исходят всегда из этого. Он вводит чушь. Он делает совсем не то, что от него оиждают. Он игнорирует предупреждения. ВСЕ его действия должны проверяться. ВСЕ результаты должны проверяться.

Переменные, которые будут управлять программой - обязательно инициализировать! Выборы, которые управляют программой - проверять! Что произойдет, если юзер введет любой другой символ, кроме знака операции? Правильно, SIGSEGV :) Потому что result не имеет значения, а в нелепом каскадном if обработка ситуации "юзер ввел ерунду" не предусмотрена и в printf() пойдет неинициализированная переменная :)

Избегай каскадных if, когда можно использовать case

scanf() оправдан только тогда, когда нужно преобразовать число, в твоем случае нужно использовать getchar()

Вместо усложнения кода двойным условием (n или N) стоит использовать tolower()/toupper(), чтобы условие было одно

Вычисления целочисленные и будут давать неожиданный результат с нецелыми операндами. Например 4 / 2 даст 2 (как и должно быть), но 5 / 2 - тоже даст 2!

Нет обработки операций с нулем - например при делении на нуль программа скорее всего получит SIGILL

В общем, есть над чем работать :)