Добрый день, NeOLiG! читай через readkey клавиши, и если это цифра выводи её на икран и пиши в память. Ответ отправлен: 17.04.2004, 18:04 Отправитель: Pawel Отвечает sir henry
Добрый день, NeOLiG! Для этого Вам надо вводить числа в строковой форме и отслеживать нажатие каждой клавиши на предмет относится ли данный символ к цифрам ("0"..."9", "." или ","), либо уже введенную строку проверять на похожесть. Для этого есть процедура преобразования строки в число: Val(S; var V; var Code: Integer); где S - строка, V - число, Code - код ошибки (если в строке есть недопустимые символы, то здесь будет номер позиции в строке). Ответ отправлен: 15.04.2004, 04:20 Отправитель: sir henry Отвечает Boriss
Доброе время суток, NeOLiG! Тут много приемов может быть использовано. Два самых простых смотрите в приложении. Но у Read/ReadLn Паскаля есть огрехи. Так что надо использовать одну из них :)) Если нужны более сложные сопосбы реализации, но напишите - где-то валялось
Приложение: Ответ отправлен: 15.04.2004, 11:29 Отправитель: Boriss Отвечает Vitally
Добрый день, NeOLiG! Например так: в цикле: if keypressed then ch:=readkey; где сh типа char. Далее проверяешь что было нажато. Если нажали цифру, точку или запитую - все нормально; если Enter - ввод закончен; если что-то еще - просто игнорируем. Если ввод был коррекным, пишем введенный символ (write(ch)), в противном случае ничего не выводим (можно пискнуть или вывести сообщение о некоррекном воде). Далее примерно так (в переменной типа integer): Если ввели вторую цифру, то первая умножается на 10 и к ней прибавляется вторая. При вводе третьей, имеющееся число умножается на 10... etc. Если нажали запятую, берем вторую переменную и проделываем с ней то же что с первой, только хранить она будет цифры после запятой и переменная должна быть типа real. После Enter'а вторую переменную циклично делим на 10 до тех пор, пока число не будет <= 0. Потом ко второму числу
прибавляем число из первой переменной. Вот вроде и все. Удачи! P.S. На оригинальность и наивысшую производительность не претендую. :) Ответ отправлен: 16.04.2004, 11:28 Отправитель: Vitally
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.