Главная страница
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.018 c
1-2910
rom
2003-05-22 23:26
2003.06.02
Сортировка массива


9-2735
VikKo
2002-12-17 22:54
2003.06.02
Дым, взрывы и fps


7-3197
Intell
2003-03-30 14:33
2003.06.02
Как поменять приоритет TTimer?


14-3132
ga3
2003-05-13 00:17
2003.06.02
MS Internet Explorer User-Agent


1-2953
Vulko
2003-05-15 19:12
2003.06.02
Как создать папку...