Помогите найти проблему
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Написал калькулятор на C++. Когда добавил функцию истории вычислений (пока только предыдущее вычисление), столкнулся с проблемой.
Программа:
Dev-C++ ошибок в коде не нашел, но, при запуске программы и первом вычислении...
Калькулятор на C++. Добро пожаловать!
История вычислений
1+1=nan
Введите первое число (первое слагаемое, уменьшаемое, множитель, делимое):
История вычислений не работает. При каждом новом вычислении она обновляется, но «nan» в ответе так и остается. «NaN» — это, надо полагать, «Not-A-Number». Но почему он здесь? В чем ошибка?
Спасибо!!! С наступающим 2018 годом!
//Компилятор не любит когда много else if мне кажется удобней switch и код красивее (Марков Денис)
include «stdafx.h»
include <iostream>
include <cmath>
using namespace std;
int main()
{
setlocale(0, «»);
cout << "\t\t\tКалькулятор\n\n\n";
cout >> «У данного кальк. 4 операции +|-|*|/»;
double a, b;
char Operator;
cout << "Введите число+операцию+число :\n;
cin >> a >> Operator >> b;
cout << «Результат :»;
switch(Operator)
{
case '+' cout << (a + b) << endl;break;
case '-' cout << (a — b) << endl;break;
case '*' cout << (a * b) << endl;break;
case '/' cout << (a / b) << endl;break;
default: cout << "Неверная операция??\n;
}
system(«pause»);
return 0;
}
Компилятору глубоко пофиг.
Аккуратный, читаемый, легкомодифицируемый код нужен человеку, который пишет, и человеку, который поддерживает.
switch может быть лучше оптимизирован в ряде случаев. Не уверен, что компилятор может выполнить такие оптимизации для цепочки if-else.
Это ютюберный распространитель заразы? )))
Особенно, если он на десяток тысяч строк. )))