Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.04.2017, 11:27
Новичок на форуме
Отправить личное сообщение для Siverena Посмотреть профиль Найти все сообщения от Siverena
 
Регистрация: 06.04.2017
Сообщений: 2

Простейший калькулятор на JS. Нужна помощь.
Требуется написать программу выводящую 2 рандомных числа и рандомный знак(+, -, =, *). Должно быть всего 5 кнопок. 4 кнопки соответствующие знакам и кнопка равно. При загрузке страницы пользователь видит 2 числа и арифметический знак, нажимает кнопку, соответствующую знаку, затем нажимает равно и происходят вычисления. Если нажата кнопка с несоответствующим знаком, выдается сообщение об ошибке. Часть кода есть. Не могу дописать, чтобы при нажатии на равно проверялось, какая кнопка из знаковых была нажата, и переменная (res) результат был передан в форму ответ.
Внешний вид калькулятора приложен.
Ниже код:

Ниже код HTML:
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Kalkulator</title>
	
	<link rel="stylesheet" href="css/kalk.css">
	<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
	<SCRIPT type="text/javascript" src="js/kalk.js"></SCRIPT>
</head>
<body>
	<FORM>
		<DIV class="formula">
			<INPUT type="text" name="first"/>

			<INPUT type="text" name="znak"/>

			<INPUT type="text" name="second"/>
		</DIV>

		<DIV class="deistv">
			<INPUT type="button" name="plus" value="+"  onClick="GetResult(1)"/>
			<INPUT type="button" name="minus" value="-"  onClick="GetResult(2)"
			/>
			<INPUT type="button" name="umnog" value="X"  onClick="GetResult(3)"
			o/>
			<INPUT type="button" name="razder" value="/"  onClick="GetResult(4)"
			/>
		</DIV>
		<DIV class="ravno">
			<INPUT type="button" name="ravno" value="=" />

		</DIV>

		<DIV class="result">
			<INPUT type="text" name="result" placeholder="Ответ" />
		</DIV>

	</FORM>
</body>
</html>



Скрипт
$(document).ready(function() { // Ждём загрузки страницы	
		var nombfirst = Math.random();
		var nombsecond = Math.random();
		var arr = ["+", "-", "X", "/"];
		var first = $("input[name=first]").val() * 1; // Переменная первого числа
		var second = $("input[name=second]").val() * 1; // Переменная второго числа
		var randznak = arr[Math.round(Math.random()*3)]
		
		$("input[name=first]").val(nombfirst); // записываем результат переменной nombfirst
		$("input[name=second]").val(nombsecond); // записываем результат переменной nombecond
		$("input[name=znak]").val(randznak); // записываем результат переменной nombecond

 
		$("input[name=plus]").click( function () { // Событие нажатия на кнопку "плюс"
			var first = $("input[name=first]").val() * 1; // Переменная первого числа
			var second = $("input[name=second]").val() * 1; // Переменная второго числа
			var res; // Переменная результата
			if (randznak == '+') { // Если знак - плюс
				
				res = first + second;
				
			}
			else {
				res = String(res);
				res = 'Неверный знак!';
				$("input[name=result]").val(res);
			}
		});
	
		$("input[name=minus]").click( function () { // Событие нажатия на кнопку "минус"
			var first = $("input[name=first]").val() * 1; // Переменная первого числа
			var second = $("input[name=second]").val() * 1; // Переменная второго числа
			var res; // Переменная результата
			if (randznak == '-') { // Если знак - минус
				res = first - second;
				
			}
			else {
				res = String(res);
				res = 'Неверный знак!';
				$("input[name=result]").val(res);
			}
		});
	
		$("input[name=umnog]").click( function () { // Событие нажатия на кнопку "умножить"
			var first = $("input[name=first]").val() * 1; // Переменная первого числа
			var second = $("input[name=second]").val() * 1; // Переменная второго числа
			var res; // Переменная результата
			if (randznak == 'X') { // Если знак - умножить
				res = first * second;
			}
			else {
				res = String(res);
				res = 'Неверный знак!';
				$("input[name=result]").val(res);
			}
		});
	
		$("input[name=razder]").click( function () { // Событие нажатия на кнопку "разделить"
			var first = $("input[name=first]").val() * 1; // Переменная первого числа
			var second = $("input[name=second]").val() * 1; // Переменная второго числа
			var res; // Переменная результата
			if (randznak == '/') { // Если знак - разделить
				res = first / second;
				
			}
			else {
				res = String(res);
				res = 'Неверный знак!';
				$("input[name=result]").val(res);
				
			}
			});
	
	
//.......................	
//	Дю сюда все работает
//	--------------------
	
	
	
		$("input[name=ravno]").click( function () {
			  switch (oper)                       //Проверяем, какая кнопка
				  {                                   //была нажата
					case 1:   //Кнопка +
					{
					  res = first+second;
					  $("input[name=result]").val(res);
					  break;
					}
					case 2:   //Кнопка -
					{
					  res = first-second;
					  $("input[name=result]").val(res);
					  break;
					}
					case 3:   //Кнопка *
					{
					  res = first*second;
					  $("input[name=result]").val(res);
					  break;
					}
					case 4:   //Кнопка /
					{
					  res = first/second;
					  $("input[name=result]").val(res);
					  break;
					}
				  }
		});

});
Изображения:
Тип файла: jpg kalk.JPG (56.8 Кб, 6 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 06.04.2017, 13:23
Профессор
Отправить личное сообщение для SV0L0CH Посмотреть профиль Найти все сообщения от SV0L0CH
 
Регистрация: 07.11.2010
Сообщений: 301

ну и где объявление oper и где присвоение значений?
Ответить с цитированием
  #3 (permalink)  
Старый 06.04.2017, 13:42
Новичок на форуме
Отправить личное сообщение для Siverena Посмотреть профиль Найти все сообщения от Siverena
 
Регистрация: 06.04.2017
Сообщений: 2

Большое спасибо! Я поняла, куда смотреть))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь по снятию ограничения прога"Размеры" SerfUA jQuery 3 29.07.2014 16:57
Нужна помощь в написании кода на JS windoffreedom Общие вопросы Javascript 5 28.07.2014 16:56
Нужна помощь по слайдеру seoguru Работа 3 28.01.2013 22:02
Матрацный калькулятор - нужна помощь heihachi88 Ваши сайты и скрипты 5 05.03.2011 22:27
Кроссдоменный GET запрос. Нужна помощь! notxcain AJAX и COMET 4 07.12.2008 20:55