Хм.. Неплохо бы узнать, что вы проходили, а что нет.
Я немного допилил код
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>