В displaySum
у вас есть:
for (int i; i<count;i++)
sum+=itemPrice[i];
i
здесь не инициализируется. Это, вероятно, не то, что вы хотите.
Также убедитесь, что вы обращаете внимание на то, что говорит вам ваш компилятор. Например, если вы используете gcc, вы можете использовать опции "-Wall -Werror", которые генерируют предупреждения об общих ошибках программирования и сообщают о них как об ошибках. IMO, это хорошая практика, так как она заставляет вас хотя бы взглянуть на это место, чтобы увидеть, действительно ли вы допустили программную ошибку.
Я не знаю, какой компилятор вы используете, но я не знаю ни одного, который бы не выводил по крайней мере номер строки при выводе предупреждений. Используйте доступные вам ресурсы. Компилятор почти наверняка сказал вам, что именно не так и где произошла ошибка. Хотя выражение, которое вы использовали, является допустимым, оно, безусловно, является ошибкой.