PDA

Просмотр полной версии : Калькурятор. Кнопка "равно"


Bustrui
22.05.2008, 15:11
Доброго времени суток.

Пытаюсь сделать нечто похожее на калькулятор...

создал поле Inpu Text(назвал vvod) для ввода чисел

создал кнопки при нажатие которых вводятся числа от 0 до 9

создал кнопку сложения вот её код:
on (press) {
perem = Number(vvod.text);
plus = perem;
vvod.text = "";
}

создал кнопку вычитания
on (press) {
perem = Number(vvod.text);
minus = perem;
vvod.text = "";
}
и кнопку равно! вот её код
on (press) {
perem = Number(vvod.text);
// переменная perem получает число в из текстового поля vvod
rovno = plus + perem;
// создаётся переменная rovno равная сумме переменных plus и perem
vvod.text = rovno;
}

принцип работы моего калькулятора:
1. в текстовое поле вводится число
2. нажимается кнопка плюс или кнопка минус(сморя что нам надо, сложить или вычесть)
3. с текстового поля всё стирается
4. вводим часло коротое нам надо прибавить или вычесть
5. нажимаем на кнопку "равно" и в текстовое поле выводится ответ

принцип работы кнопок плюс и минус видно в коде...

ВОПРОС!
немогу понять как сделать чтоб кнопка ровно понимала кагда надо дать ответ сложения или вычитания?
на данный момент(как видно в коде) она у меня может только слаживать...

Зарание благодарен.

вижу один способ но незнаю как это сделать...

on (press) {
perem = Number(vvod.text);
если переменная plus ничему не равна то
переменная rovno = minus - perem
vvod.text = rovno

если переменная plus чемуто равна то
переменная rocno = plus + perem
vvod.text = rovno

при этом в кнопку плюс добавить чтото каманду чтоб при нажатие переменная минус становилась ничему не равна
и аналогично с кнопкой минус
короче какой камандой убрать значение переменной? :)

iNils
22.05.2008, 15:40
Надо использовать кнопку http://www.flasher.ru/forum/images/russian/style3/buttons/edit.gif, а не создавать несколько сообщений подряд.

Psycho Tiger
22.05.2008, 15:53
Ужасные заморочки...

короче какой камандой убрать значение переменной?


myVar=null;
myVar=undefined;
delete myVar;

Покатят все 3 варианта

ВОПРОС!
немогу понять как сделать чтоб кнопка ровно понимала кагда надо дать ответ сложения или вычитания?

Заведи логическую переменную, если она будет true - складывай, false - вычитай.
И вообще как это...
Более по простому - если тыкаем "минус" значение введенное во 2 раз умножаем на -1. И складываем.
Пример:
5+2=7
В программе:
a=5
b=2
s=a+b=7
5-2=3
a=5
b=2
b=b*-1=-2
s=b+a=5+ -2 = 3

Bustrui
22.05.2008, 19:31
Заведи логическую переменную, если она будет true - складывай, false - вычитай.


эээ.. это как?....
если не сложно дай ответ в коде к моей кнопке "плюс" и к кнопке "равно"

musat
22.05.2008, 21:36
Сложение:


on (press) {
operation = "plus";
perem = Number(vvod.text);
plus = perem;
vvod.text = "";
}


Вычетание:


on (press) {
operation = "minus";
perem = Number(vvod.text);
minus = perem;
vvod.text = "";
}


Равно:


on (press) {
perem = Number(vvod.text);
if (operation == "plus") {
rovno = plus + perem;
} else if (operation == "minus") {
rovno = minus - perem;
}
vvod.text = rovno;
}


В переменной operation задается название функции. Так удобней, потому что легко добавить функции умножение, деление, корень и т.д.

Bustrui
23.05.2008, 11:43
В переменной operation задается название функции. Так удобней, потому что легко добавить функции умножение, деление, корень и т.д.

спасибо!
ща буду пытаться добавить остальные функции в мой калькулятор )