Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 28.10.2018, 17:49   #1
Карбофос_13
Новичок
 
Регистрация: 28.10.2018
Сообщений: 2
Репутация: 10
Злость Почему не работает switch

Код:

<meta charset="UTF-8">
<script>
	"use strict";
	let a = parseInt(+prompt('Введите произвольное целое число'));
	let b = parseInt(+prompt('Введите второе произвольное целое число'));
	let c = prompt('Введите арифметическое действие: \n сложение \n вычитание \n умножение \n деление');
	function sum (a, b, c) {
		switch(c) {
			case 'сложение':
				const f = Math.round(a + b);
				alert('a + b = '+ f);
				break;
			case 'вычитание':
				const f = Math.round(a - b);
				alert('a - b = '+ f);
				break;
			case 'умножение':
				const f = Math.round(a * b);
				alert('a * b = '+ f);
				break;
			case 'деление':
				const f = Math.round(a / b);
				alert('a / b = '+ f);
				break;
			default:
				alert('Что то пошло не так');
		}
	}
	let e = sum (a, b, c);

</script>

Если оставить один кейс и дефолт, остальные закомментировать - работает, в полном виде не хочет. Подскажите, что не так.
Карбофос_13 вне форума   Ответить с цитированием
Старый 28.10.2018, 18:15   #2
Карбофос_13
Новичок
 
Регистрация: 28.10.2018
Сообщений: 2
Репутация: 10
По умолчанию

Все, разобрался.
Карбофос_13 вне форума   Ответить с цитированием
Старый 29.10.2018, 00:25   #3
Вадим Мошев
гигаМодератор :)
Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес:
Сообщений: 7,685
Репутация: 3715
По умолчанию

Если вы решили проблему, то расскажите о том, как вы это сделали. Это будет полезно остальным.
Вадим Мошев на форуме   Ответить с цитированием
Старый 29.10.2018, 07:07   #4
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,062
Репутация: 754
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Это будет полезно остальным.
Распространённая ловушка: отдельные ветки switch имеют общую область видимости.
А у ТС в каждой ветке одна и та же константа определяется
Black Fregat на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает cin.getline в switch Сергей_Якутин Общие вопросы C/C++ 0 17.07.2016 10:46
Здравствуйте ! в чем проблема,почему почему время исполнения операций не работает ? ion leahu Помощь студентам 6 23.11.2014 20:36
с++.switch-case счетчик. не работает программа. Leeto Помощь студентам 0 22.12.2011 13:17
Почему не дружат динамич.массивы и switch FelixXXI Общие вопросы C/C++ 2 22.10.2011 18:38
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 10:56


19:48.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru