Помогите с калькулятором
В интернете образцы кальков на javascript смотрел, но они написаны с использованием тех методов которые мы еще не проходили, а препод будет это проверять. В общем надо сделать кнопку 1 (ввод только при нажатии на кнопки, поле для ввода данных и вывода результата одно). Надо дополнить функцию кнопки 1, на текущий момент можно вывести на экран только одну однерку а надо бы чтоб сколько раз нажал кнопку 1 столько единиц и вывелось. ну а дальше по аналогии попробую остальные кнопки доделать.
<html> <head> <title>Java</title> </head> <body> <form name="f1"> <input type="text" name="txt"> <input type="button" onclick="ans()" value="ok"> </form> <script> function ans() { f1.txt.value="1"; } </script> </body> </html> |
Самый простой и не надёжный)
<input type="text" id="calc" /> <input type="button" onclick="alert(eval(document.getElementById('calc').value))" /> подсказка к вашему вопросу: var i = 1; i = 1; i = 1; alert(i); var i = 1; i += 1; i = i + 1; i ++; alert(i); и ещё "1" - строка 1 - число alert(1+1); alert("1"+1); |
Цитата:
|
Допускается, но сроки не дают и я не прошу полностью все написать а только кнопку, по крайней мере пока:)
|
Kolyaj, так преподы ведь гады, не учат ничему... :D Вот он потом устроится после института в хорошую контору и там за полгода узнает больше чем за 5лет института...
Т.е. схемка просматривается чётко! :lol: Институты виноваты, фигли! |
Skipp спасибо за помощь, правда я мало что понял. Я пробовал циклом т.е. если нажали кнопку то +"1" (т.е. строка выводиться, а потом ее преобразовать в число), но не получилось.
|
Skipp спасибо за помощь, правда я мало что понял. Я пробовал циклом т.е. если нажали кнопку то +"1" (т.е. строка выводиться, а потом ее преобразовать в число), но не получилось.
|
Я не учусь в институте, я на курсы хожу после работы, не успеваю маленько, вот и прошу помощи, а преподов я ни в чем не виню. Че то сайту плохо, тормозит сильно.
|
<html> <head> <title>Java</title> </head> <body> <form name="f1"> <input type="text" name="txt"> <input type="button" onclick="f1.txt.value += 1" value="1"> <input type="button" onclick="f1.txt.value += 2" value="2"> <input type="button" onclick="f1.txt.value += this.value" value="3"> </form> </body> </html> |
Подкину и свою идейку... :)
<!DOCTYPE html> <html> <head> <title>test</title> <style type="text/css"> #scr { width: 200px; border: 1px solid; text-align: right; } .n { width: 25px; height: 25px; font-size: 10pt; } </style> <script type="text/javascript"> function Add(N) { var o=document.getElementById('scr') o.innerHTML=(o.innerHTML=='0')? N: o.innerHTML+N } </script> </head> <body> <div id='scr'>0</div> <input class='n' type='button' value='1' onclick='Add(1)' /> </body> </html> |
Цитата:
|
Skipp спасибо тебе большое добрый человек, так даже намного проще чем я пытался, буду пробовать дальше.
|
to ksa на них воду возят, а я не хочу:) Спасибо за твой вариант, мы кое чего не проходили из этого, но тоже попробую!
|
Кнопке равно присвоил функцию:
function ravno() { x=f1.txt.value; f1.txt.value=eval(x); }; Но теперь не получается написать функцию к кнопке проценты. eval определяет знак % как деление по модулю. Вот: <html> <head> <title>Java</title> </head> <body> <table border='2'> <tr> <td> <form name="f1"> <input type="text" name="txt"> <input type="button" onclick="f1.txt.value += 1" value="1"> <input type="button" onclick="f1.txt.value += 2" value="2"> <input type="button" onclick="f1.txt.value += this.value" value="-"> <input type="button" onclick="percent()" value="%"> <input type="button" onclick="ravno()" value="="> <input type="button" onclick="reset()" value="C"> </td> </tr> </form> <script> function ravno() { x=f1.txt.value; f1.txt.value=eval(x); }; function reset() { if(x.length>0)f1.txt.value=0; }; /*function percent() { ????? };*/ </script> </body> </html> |
И походу с нахождением обратного числа тоже не все так просто будет :(
|
Ух)
Как же всё сложно) <form name="f1"> <input type="text" name="txt" readonly /><br/> <input type="button" onclick="f1.txt.value += this.value" value="1" /> <input type="button" onclick="f1.txt.value += this.value" value="2" /> <input type="button" onclick="f1.txt.value += this.value" value="3" /><br/> <input type="button" onclick="f1.txt.value += this.value" value="4" /> <input type="button" onclick="f1.txt.value += this.value" value="5" /> <input type="button" onclick="f1.txt.value += this.value" value="6" /></br> <input type="button" onclick="f1.txt.value += this.value" value="7" /> <input type="button" onclick="f1.txt.value += this.value" value="8" /> <input type="button" onclick="f1.txt.value += this.value" value="9" /><br/> <input type="button" onclick="f1.txt.value += this.value" value="0" /> <input type="button" onclick="f1.txt.value += this.value" value="+" /> <input type="button" onclick="f1.txt.value += this.value" value="-" /><br/> <input type="button" onclick="f1.txt.value += this.value" value="*" /> <input type="button" onclick="f1.txt.value += this.value" value="/" /> <input type="button" onclick="f1.txt.value = eval(f1.txt.value)" value="=" /> </form> |
Это все получилось, не получается кнопку проценты(%) сделать и кнопку нахождение обратного числа (1/x). Т.е. если добавлю в кнопку %
<input type="button" onclick="f1.txt.value += this.value" value="%" /> то получается деление по модулю, а не проценты |
Хм.. Неплохо бы узнать, что вы проходили, а что нет.
Я немного допилил код Skipp, правда не сделал кнопку процентов, но, мне кажется, подумав над тем, что тут написано, вполне можно сделать её и самому. <form name="f1"> <input type="text" name="txt" readonly /><br/> <input type="button" onclick="f1.txt.value += this.value" value="1" /> <input type="button" onclick="f1.txt.value += this.value" value="2" /> <input type="button" onclick="f1.txt.value += this.value" value="3" /><br /> <input type="button" onclick="f1.txt.value += this.value" value="4" /> <input type="button" onclick="f1.txt.value += this.value" value="5" /> <input type="button" onclick="f1.txt.value += this.value" value="6" /><br /> <input type="button" onclick="f1.txt.value += this.value" value="7" /> <input type="button" onclick="f1.txt.value += this.value" value="8" /> <input type="button" onclick="f1.txt.value += this.value" value="9" /><br /> <input type="button" onclick="f1.txt.value += this.value" value="0" /> <input type="button" onclick="f1.txt.value += this.value" value="+" /> <input type="button" onclick="f1.txt.value += this.value" value="-" /><br /> <input type="button" onclick="f1.txt.value += this.value" value="*" /> <input type="button" onclick="f1.txt.value += this.value" value="/" /> <input type="button" onclick="f1.txt.value = this.value+'(' + f1.txt.value +')'" value="1/" /><br /> <input type="reset" value="C" /> <input type="button" onclick="f1.txt.value = eval(f1.txt.value)" value="=" /> </form> |
trikadin спасибо! проходили функции, массивы, операторы но очень бегло поэтому туплю(по javascript в общих чертах будет всего несколько уроков). Я примерно тоже самое сделал (выше есть мой сокращенный код) но расчет и очистку строки делал с помощью функции, а вот на процентах и расчете обратного числа застрял, спасибо за него. Конечно хотелось бы разобраться, а не тупо скопировать.
|
Практически все получилось, осталось только расчет процентов добавить. Воспользовавшись примером от trikadin сделал нахождение обратного числа с помощью функции, поправьте если что-то сделал не правильно, а если правильно тоже скажите:
В форме создаю кнопку: <form name="f1"> <input type="text" name="txt"> <input type="button" onclick="obratn()" value="1/x"> </form> В скрипте функцию: function obratn() { z =eval(1/f1.txt.value); f1.txt.value=z; } C процентами пока не знаю что делать, в остальном калькулятор почти готов (осталось оформить и еще один знак добавить). |
Помогите кому не трудно с кнопкой проценты, если возможно чтоб она была сделана по типу кнопки обратного числа как в сообщении выше, в смысле такой конструкции: в форме кнопка, а в скрипте функция.
|
Просьба еще актуальна, помогите кому не лень пожалуйста.
|
Часовой пояс GMT +3, время: 16:46. |