Помогите с калькулятором
В интернете образцы кальков на 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, время: 17:18. |