Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Калькулятор за 30 строчек.   Найти похожие ветки 

 
NewN ©   (2003-05-16 09:30) [0]

Вчера пришла знакомая (Лена), говорит - напиши мне калькулятор, курсовой нужно. Я за час написал - получилось 30 строчек! Полноценный калькулятор, 4 арифметических операции в любой последовательности, приоритет не учитывается, нет управления с клавиатуры, но в полном соответствии с ТЗ.
Всего 34 строки исходного кода, думаю маловато будет для курсового проекта :-).
Я его положил в кладовку: http://www.delphimaster.ru/cgi-bin/download.pl?get=1053062321&n=1
А вопрос у меня к мастерам такой - можно сделать ещё проще при той же функциональности? Кто может укоротить код? Буду признателен, если укажете на ошибки.


 
Palladin ©   (2003-05-16 09:42) [1]


sOperand:= Display.Caption;
sOperand:= "-" + sOperand;
if Length(sOperand) > 1 then
case sOperand[2] of
"-": Delete(sOperand, 1, 2);
"0": Delete(sOperand, 2, 1);
end;
if sOperand = "" then
Display.Caption:= "0"
else
Display.Caption:= sOperand;

заменяется на

if Display.Caption[1]="-" then sOperand:=copy(Display.Caption,2,length(Display.Caption))
else sOperand:="-"+Display.Caption;
Display.Caption:=sOperand;




 
Дмитрий К.К. ©   (2003-05-16 09:45) [2]

Лена поблагодарила, надеюсь, тебя?


 
NewN ©   (2003-05-16 09:55) [3]

Palladin © (16.05.03 09:42)
- спасибо, попробую разобраться.
Дмитрий К.К. © (16.05.03 09:45)
- Она моя хорошая знакомая, я для неё всё делаю бескорыстно. (Она для меня тоже:-))


 
NewN ©   (2003-05-16 10:02) [4]

Palladin © (16.05.03 09:42)
в этом случае, при наборе отрицательного числа (-123456) отобразится лишний ноль (-0123456)


 
Palladin ©   (2003-05-16 10:12) [5]

ну и?
у тебя там нули и так позволяются несметное количество впереди


 
NewN ©   (2003-05-16 10:23) [6]

Palladin © (16.05.03 10:12)

Да, недоглядел - но в исходном варианте, только если несколько раз по клавише "0" щёлкнуть - то столько и нулей появится. А "-/+" нулей не добавляет. Надо не увеличивать количество ошибок.



Страницы: 1 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
3-2790
me2
2003-05-14 14:20
2003.06.02
Программное удаление пользователя


1-2890
Holy
2003-05-22 13:54
2003.06.02
Записи


8-3018
Stam
2003-02-17 12:01
2003.06.02
Как перекодировать Audio CD в MP3?


1-2970
Azbul
2003-05-21 10:26
2003.06.02
запись шестнадцатиричного значения в файл


1-2920
marat111
2003-05-22 19:12
2003.06.02
Перетаскиваемые компоненты