Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Калькулятор 
:(
    Опции темы
GoNzO88
Дата 11.6.2007, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.6.2007

Репутация: нет
Всего: нет



Очень нужна помощь в написании скрипта. Просто я никогда не работал с Ява, а задание нужно выполнить.

Задание : нарисовать два окна и кнопку "пощитать". В левом окне вписываем арефметическое выражение. После нажатия кнопки "пощитать" в правом окне выводится результат. Результат нужно откоментировать текстом , каждая операция словами (напр. "+" - плюс) , а цифры написать буквами.

Понимаю что прогеры народ ленивый, но не сочтите за наглость. Заранее спасибо!
PM MAIL   Вверх
LesnoyChelovek
Дата 11.6.2007, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


странник Интернета
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 27.2.2006
Где: Русь

Репутация: нет
Всего: 10



Вот разбирайся:
Код

<html>
<head><title>Lesnoy_chelovek</title></head>
<script>
var x = 0;
var ops = "n";
var token = 0;
function calc(form,op)
{
 if(op=="1" || op=="2" || op=="3" || op=="4" || op=="5" || op=="6" || op=="7" || op=="8" || op=="9" || op=="0")
 {
 if(!token)
 {
 if(form.elements['xx'].value ==0 )
 {
 form.elements['xx'].value = op;
 }
 else
 form.elements['xx'].value = form.elements['xx'].value + op;
 }
 else
 {
 form.elements['xx'].value = op;
 token = 0;
 }
 return;
 }
 if(op=="C"){
 form.elements['xx'].value = 0;
 token = 0;
 return;
 }
 if(op=="%") {
 form.elements['xx'].value = form.elements['xx'].value / 100.0;
 token = 1;
 return;
 }
 if(op=="+/-") {
 form.elements['xx'].value = -form.elements['xx'].value;
 token = 1;
 return;
 }
 if(op=="1/x") {
 if(form.elements['xx'].value != 0) 
 form.elements['xx'].value = 1/form.elements['xx'].value;
 else
 form.elements['xx'].value = 1/form.elements['xx'].value;
 token = 1;
 return;
 }
 if(op=="+" || op=="*" || op=="/" || op=="-" || op=="=")
 {
 token = 1;
 if(ops!="n")
 {
 if(ops=="+")
 {
 x = x -(- form.elements['xx'].value);
 form.elements['xx'].value = x;
 }
 if(ops=="-")
 {
 x = x - form.elements['xx'].value;
 form.elements['xx'].value = x;
 }
 if(ops=="/")
 {
 x = x / form.elements['xx'].value;
 form.elements['xx'].value = x;
 }
 if(ops=="*")
 {
 x = x * form.elements['xx'].value;
 form.elements['xx'].value = x;
 }
 }
 else
 {
 x = form.elements['xx'].value;
 }
 if(op!="=") ops=op; else ops="n";
 return;
 }
}
</script>
<body >
<h2>Простейший калькулятор.</h2><hr>
<form name="calculator">
<input type="text" name="xx" value="0"></input>
<table>
<tr>
<td><input type="button" name="b-7" value="&nbsp;&nbsp;7&nbsp;&nbsp;" OnClick="calc(this.form,'7')"></input></td>
<td><input type="button" name="b-8" value="&nbsp;&nbsp;8&nbsp;&nbsp;" OnClick="calc(this.form,'8')"></input></td>
<td><input type="button" name="b-9" value="&nbsp;&nbsp;9&nbsp;&nbsp;" OnClick="calc(this.form,'9')"></input></td>
<td><input type="button" name="b-div" value="&nbsp;&nbsp;/&nbsp;&nbsp;" OnClick="calc(this.form,'/')"></input></td>
<td><input type="button" name="b-C" value="&nbsp;&nbsp;C&nbsp;&nbsp;" OnClick="calc(this.form,'C')"></input></td>
</tr>
<tr>
<td><input type="button" name="b-4" value="&nbsp;&nbsp;4&nbsp;&nbsp;" OnClick="calc(this.form,'4')"></input></td>
<td><input type="button" name="b-5" value="&nbsp;&nbsp;5&nbsp;&nbsp;" OnClick="calc(this.form,'5')"></input></td>
<td><input type="button" name="b-6" value="&nbsp;&nbsp;6&nbsp;&nbsp;" OnClick="calc(this.form,'6')"></input></td>
<td><input type="button" name="b-mul" value="&nbsp;&nbsp;*&nbsp;&nbsp;" OnClick="calc(this.form,'*')"></input></td>
<td><input type="button" name="b-prc" value="&nbsp;%&nbsp;&nbsp;" OnClick="calc(this.form,'%')"></input></td>
</tr>
<tr>
<td><input type="button" name="b-1" value="&nbsp;&nbsp;1&nbsp;&nbsp;" OnClick="calc(this.form,'1')"></input></td>
<td><input type="button" name="b-2" value="&nbsp;&nbsp;2&nbsp;&nbsp;" OnClick="calc(this.form,'2')"></input></td>
<td><input type="button" name="b-3" value="&nbsp;&nbsp;3&nbsp;&nbsp;" OnClick="calc(this.form,'3')"></input></td>
<td><input type="button" name="b-min" value="&nbsp;&nbsp;-&nbsp;&nbsp;" OnClick="calc(this.form,'-')"></input></td>
<td><input type="button" name="b-rep" value="&nbsp;1/x&nbsp;" OnClick="calc(this.form,'1/x')"></input></td>
</tr>
<tr>
<td><input type="button" name="b-0" value="&nbsp;&nbsp;0&nbsp;&nbsp;" OnClick="calc(this.form,'0')"></input></td>
<td><input type="button" name="b-sgn" value="&nbsp;+/-&nbsp;" OnClick="calc(this.form,'+/-')"></input></td>
<td><input type="button" name="b-pnt" value="&nbsp;&nbsp;.&nbsp;&nbsp;" OnClick="calc(this.form,'.')"></input></td>
<td><input type="button" name="b-pls" value="&nbsp;&nbsp;+&nbsp;&nbsp;" OnClick="calc(this.form,'+')"></input></td>
<td><input type="button" name="b-eq" value="&nbsp;&nbsp;=&nbsp;&nbsp;" OnClick="calc(this.form,'=')"></input></td>
</tr>
</table>
</body>
</html>



--------------------
Делай добро и бросай его в воду... оно не утонет.. добром к тебе вернеться.
http://picasaweb.google.com/LesnoyChelovek/Photo
PM MAIL   Вверх
GoNzO88
Дата 11.6.2007, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.6.2007

Репутация: нет
Всего: нет



Понимаеш я тоже находил кучу исходников, но не разобрался  smile а переделать ввод в одно окно так и подавно не смогу. Но все равно спасибо хоть на этом
PM MAIL   Вверх
v2v
Дата 11.6.2007, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: нет
Всего: 56



причём тут ява скрипт к ява? ;)
что бы разобраться почитай про ява скрипт и хтмл.


--------------------
PM   Вверх
WIPS
Дата 13.6.2007, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 22.5.2006
Где: Украина, Киев

Репутация: 2
Всего: 8



Вопрос по моему не по JavaScript, а по алгоритмам как таковым.

Цитата(GoNzO88 @  11.6.2007,  16:33 Найти цитируемый пост)
Результат нужно откоментировать текстом , каждая операция словами (напр. "+" - плюс) , а цифры написать буквами.

Пишешь мини-парсер, кот. разбирает твою строку и строит дерево операндов и операций (погугли "разбор арифметических выражений"). Когда все будет разобрано, думаю не составит труда записать числа и знаки словами. Это же дерево поможет правильно посчитать результат выражения.



Цитата(GoNzO88 @  11.6.2007,  16:33 Найти цитируемый пост)
Просто я никогда не работал с Ява, а задание нужно выполнить.

Или вы можете сделать это задание на каком-то др. языке программ-я и проблема именно в JavaScript?
--------------------
Автопроизводители, машины, марки, модели!
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.