Пояснить код C++ Калькулятор Описать код, закомментировать, что где происходит, нужно для курсовой работы.
#include
#include
double number();
double factor();
double expr();
double brackets();
int main()
{
double n;
setlocale(LC_ALL, "Rus");
std::cout = '0' && c = '0' && c <= '9')
{
result += (c - '0') / k;
k *= 10.0;
}
else
{
std::cin.putback(c);
break;
}
}
}
else
std::cin.putback(c);
return sign * result;
}
double factor()
{
double result = brackets();
double temp;
char c;
while (true)
{
c = std::cin.get();
while (c == ' ')
c = std::cin.get();
switch (c)
{
case '*':
result *= brackets();
break;
case '/':
temp = brackets();
if (temp == 0.0)
{
std::cout << "Деление на нуль!" << std::endl;
exit(-1);
}
result /= temp;
break;
default:
std::cin.putback(c);
return result;
}
}
}
double expr()
{
double result = factor();
char c;
while (true)
{
c = std::cin.get();
while (c == ' ')
c = std::cin.get();
switch (c)
{
case '+':
result += factor();
break;
case '-':
result -= factor();
break;
default:
std::cin.putback(c);
return result;
}
}
}
double brackets()
{
double result;
int sign = 1;
char c;
c = std::cin.get();
while (c == ' ')
c = std::cin.get();
if (c == '-')
{
sign = -1;
c = std::cin.get();
}
while (c == ' ')
c = std::cin.get();
if (c == '(')
{
result = sign * expr();
c = std::cin.get();
if (c != ')')
{
std::cout << "Неверная расстановка скобок!" << std::endl;
exit(-1);
}
return result;
}
else
{
std::cin.putback(c);
return sign * number();
}
}
281
288
Ответы на вопрос:
1. моем котел и топор.2. кладем топор в котел.3. наливаем воду в котел.4. ставим котел на огонь.5. помешиваем варево.6. пробуем.7. солим воду.8. пробуем.9. кладем крупу.10.пробуем.11.кладем масло.12.пробуем.13.едим.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
ОдУвАнЧиК0721.04.2023 02:16
-
Бота2008116.12.2021 04:30
-
milenasargsyan008.02.2022 10:36
-
ВетаКлойзен5414.01.2020 18:16
-
KKIUY16.08.2021 05:16
-
SleaM4ik21.03.2020 09:05
-
cat49316.11.2021 16:16
-
anyiugyo9e706.01.2021 12:59
-
aarseni200603.12.2021 08:07
-
Ірина42808.01.2022 17:50
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.