Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];

Вниз

Калькулятор за 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
14-3162
Dmitriy O.
2003-05-15 13:01
2003.06.02
Куда податься молодым программистам (в Иннете).


14-3122
vajo
2003-05-14 13:19
2003.06.02
Insufficient memory for this operation


1-2842
Xeon
2003-05-21 23:08
2003.06.02
Реестр


6-3031
Dennis S
2003-04-02 11:34
2003.06.02
Локальная сеть и инфо


6-3042
DukeNukem
2003-04-01 17:40
2003.06.02
Работа с IMAP4





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский