Я собираюсь ответить, потому что я новичок, и есть несколько вещей, с которыми я могу вам помочь.Я не уверен, стоит ли поощрять или не отвечать на подобные сообщения, но я решил, что в любом случае хочу помочь ...
Первое, что я заметил, это то, что вы сделали большое количествофункций для всех операций, но никогда не использовал их, вместо этого выбрав операторы switch.
Несколько способов использовать функции в вашем коде:
//use in the switch statement
switch(input) {
case 1:
cout << add(a,b) << endl;
break;
case 2:
cout << divide(a,b) << endl;
break;
Я выбралвключите разделение в этот фрагмент, потому что я хотел рассказать вам об усечении.В C ++ и многих других языках программирования, которые поддерживают типы, вы встретите усечение при преобразовании из типа double в тип int.
Это происходит при делении.Если бы вы делили 5 на 2 (5/2), вы получите 2,5.Но, поскольку вы присваиваете это int, оно хранится только как 2 (десятичная дробь обрезается), потому что целые не способны обрабатывать десятичные дроби.
Для калькулятора я бы полностью порекомендовалконвертируя все используемые вами int в удваивающие значения для ошибки усечения.В случае, если вы хотите выполнять более крупные вычисления по любой причине, превышающей 2147483647 , тогда вы захотите использовать двойные, поскольку они могут хранить около 15 цифр , читайте больше здесь .
Кроме того, не ставьте точки с запятой после скобок функций (это только для вашей функции добавления).
В противном случае, это выглядит довольно хорошо с точки зрения формата, и вы используете некоторые классные концепции, которые я надеваюне пользуйтесь (операторы goto и switch).
Так держать!