Простейший калькулятор на JS. Нужна помощь.
Вложений: 1
Требуется написать программу выводящую 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;
}
}
});
});
|
ну и где объявление oper и где присвоение значений?
|
Большое спасибо! Я поняла, куда смотреть))
|
| Часовой пояс GMT +3, время: 20:42. |