Алина1116577
02.01.2023 18:45

Пояснить код 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();
}
}

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
890ZLO168
03.01.2021 05:27

Program kontr;

var a,b:integer;

    c:char;

    n,m:string;

begin

writeln ('Введите первую цифру');

readln(a);

writeln ('Введите вторую цифру');

readln(b);

writeln ('Введите один из знаков: +,-,*,/');

readln(c);

case a of

0:n:='ноль';

1:n:='один';

2:n:='два';

3:n:='три';

4:n:='четыре';

5:n:='пять';

6:n:='шесть';

7:n:='семь';

8:n:='восемь';

9:n:='девять';

end;

case b of

0:m:='ноль';

1:m:='один';

2:m:='два';

3:m:='три';

4:m:='четыре';

5:m:='пять';

6:m:='шесть';

7:m:='семь';

8:m:='восемь';

9:m:='девять';

end;

 

case c of

'*': writeln (n,' умножить на ',m);

'/': writeln (n,' разделить на ',m);

'+': writeln (n,' плюс ',m);

'-': writeln (n,' минус ',m);

end;

end.

0,0(0 оценок)
Ответ:
Мастер1века
12.05.2022 00:44
8110

11 марта в Японии произошло землетрясение магнитудой 8,8, оно считается самым сильным в истории страны. Но на планете каждый день случается несколько десятков землетрясений. По счастью, лишь немногие из них вызывают серьезные разрушения. Однако есть и такие, которые стирают с лица земли целые города. 

На настоящее время самым сильным известным человечеству землетрясением за последние 100 лет, о котором существуют официальные задокументированные данные, являетсяземлетрясение на Гаити, произошедшее 12 января 2010 года около 17 часов по местному времени. После основного толчка магнитудой 7 по шкале Рихтера, который длился порядка 40 секунд, было зарегистрировано еще около 30, половина из которых была силой не менее 5.

Чудовищное по силе и интенсивности землетрясение унесло жизни, по разным оценкам, почти 232 тысяч человек, несколько миллионов человек осталось без крова, была практически полностью разрушена столица Гаити Порт-о-Пренс.

Таких катастрофических последствий можно было бы избежать, если бы власти страны были готовы к стихиям подобного масштаба. В частности, по сообщениям ряда СМИ, даже спустя несколько недель после землетрясения множество пострадавших оставалось без еды, воды и крыши над головой хоть и оказывалась, но ее было явно недостаточно, в частности, за едой необходимо было отстаивать длинные очереди. Повсеместная антисанитария вызвала вспышку опасных болезней, в том числе и холеру, от которой впоследствии также скончалось несколько сотен человек.

На втором месте - землетрясение, случившееся 28 июля в далеком 1976 году в китайском городе Таншане. Землетрясение силой 8, унесшее жизни 222 тысяч человек, и это, по всей видимости "сильно" приблизительные данные. По подсчетам некоторых международных организаций, жертв таншаньского землетрясения было гораздо больше, вплоть до 800 тысяч человек, при этом сила толчков была несколько ниже – 7, Точных цифр, естественно, нет - согласно архивным сводкам, предполагается, что китайское правительство умышленно в несколько раз занизило масштаб катастрофы.

В 2004 году 26 декабря произошло еще одно не менее разрушительное землетрясение, которое было признано самым смертоносным стихийным бедствием в современной истории. Обрушившись на многие страны Азии, оно нанесло удар по побережью Индийского океана, от Индонезии до восточной Африки. Землетрясение силой 9, по шкале Рихтера вызвало огромное цунами и унесло жизни около 230 тысяч человек.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота