Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с простейшим калькулятором (https://javascript.ru/forum/misc/70928-problema-s-prostejjshim-kalkulyatorom.html)

Ailis 12.10.2017 17:53

Проблема с простейшим калькулятором
 
Добрый вечер!
Получила такое задание: написать простейший калькулятор - программу, которая выводит на экран поля для ввода пользователем первого числа, одного из знаков арифметического действия (+ - * /) и второго числа, а также кнопку "Рассчитать". По щелчку на кнопку программа выводит результат выражения в поле "РЕЗУЛЬТАТ".
В JavaScript я новичок, так что возникли трудности... Проблема явно в функции, но я не могу понять, что именно не так (программа не выводит результат в соответствующее поле). Подскажите, пожалуйста. Буду очень благодарна.

<html>
<head><title>calculator</title>
<script type="text/javascript">
function calk(x, y, z) {
var x, y, z;
if (y=='*') {
document.form1.rez.value=document.form1.x.value*document.form1.z.value}
else if (y=='/') {
document.form1.rez.value=document.form1.x.value/document.form1.z.value}
else if (y=='+') {
document.form1.rez.value=document.form1.x.value+document.form1.z.value}
else if (y=='-') {
document.form1.rez.value=document.form1.x.value-document.form1.z.value}
else {
Something is wrong}
}
</script>
</head>
<body>
<form name="form1">
<p>Введите, пожалуйста, первое число:
<input type="text" size="10" maxlength="10" name="x">
</p>
<p>Введите, пожалуйста, знак действия:
<input type="text" size="3" maxlength="1" name="y">
</p>
<p>Введите, пожалуйста, второе число:
<input type="text" size="10" maxlength="10" name="z">
</p>
<p>РЕЗУЛЬТАТ:
<input type="text" size="10" maxlength="10" name="rez">
</p>
<input type="button" value="Рассчитать" onClick="calk(x, y, z)">
</form>
</body>
</html>

рони 12.10.2017 18:05

Ailis,
<html>
<head><title>calculator</title><meta charset="utf-8">
<script type="text/javascript">
function calk() {
var y = document.form1.y.value;
if (y=='*') {
document.form1.rez.value=document.form1.x.value*document.form1.z.value}
else if (y=='/') {
document.form1.rez.value=document.form1.x.value/document.form1.z.value}
else if (y=='+') {
document.form1.rez.value=+document.form1.x.value + +document.form1.z.value}
else if (y=='-') {
document.form1.rez.value=document.form1.x.value-document.form1.z.value}

}
</script>
</head>
<body>
<form name="form1">
<p>Введите, пожалуйста, первое число:
<input type="text" size="10" maxlength="10" name="x">
</p>
<p>Введите, пожалуйста, знак действия:
<input type="text" size="3" maxlength="1" name="y">
</p>
<p>Введите, пожалуйста, второе число:
<input type="text" size="10" maxlength="10" name="z">
</p>
<p>РЕЗУЛЬТАТ:
<input type="text" size="10" maxlength="10" name="rez">
</p>
<input type="button" value="Рассчитать" onClick="calk()">
</form>
</body>
</html>

Ailis 12.10.2017 18:32

Огромное спасибо!:)


Часовой пояс GMT +3, время: 19:02.