Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Решил сделать калькулятор C++ но выдаёт Использование неинициализированной памяти "res".

sasha kraev Ученик (80), на голосовании 1 день назад
Начал изучать С++ и дошел до калькулятора, до этого момента делал его раза 4 и пытался делать без подсказок, но щас вылезла ошибка ну которой вобще нету, код индентичен прошлым и досихпор не понял в чем проблема#include <iostream>

using namespace std;

int main() {
setlocale(LC_ALL, "RU");

//Калькулятор чисел
float num1, num2, res;
cout << "Введите num1: ";
cin >> num1;

cout << "Введите Num2: ";
cin >> num2;

char math;
cout << "Введите math: ";
cin >> math;

switch (math) {
case '+': res = num1 + num2; break;
case '-': res = num1 - num2; break;
case '*': res = num1 * num2; break;
case '/': res = num1 / num2; break;

}

cout << "Result: " << res << endl;

return 0;

}
Голосование за лучший ответ
Unity 3D Мыслитель (6608) 1 месяц назад
Так это предупреждение, а не ошибка
Андрей Высший разум (483075) 1 месяц назад
 float num1, num2, res = 0.0; 
Просто присвой переменной начальное значение.

Реальная же проблема в твоём switch, который обрабатывает только 4 корректных варианта и НЕ обрабатывает ситуацию, когда введено что-то другое. В этом случае переменной res в твоём коде ничего не присваивается, но значение res выводится. И именно на это ругается компилятор.
Похожие вопросы