|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.12.2021, 10:49 | #1 |
Новичок
Джуниор
Регистрация: 09.09.2013
Сообщений: 1
|
Не срабатывает readln
// Рассчитать количество досок на забор
// х,у,- стороны участка // ширина доски 10см program zabor; var x, y, KD: real; fin: char; begin repeat writeln('Введите x, y'); read(x,y); KD := 2 * (x + y) / 0.1; writeln('Количество досок на забор ', (KD):0:0, ' штук'); writeln ('Выйти из программы? (y-да,n-нeт)'); readln (fin); until fin = 'y'; writeln ('пока-пока'); end. --------------------------------- Ввелите x, y 8 9 Количество досок на забор 340 штук Выйти из программы? (y-да,n-нeт) Ввелите x, y ----------------------------------- По протоколу видно, что не срабатывает readln (fin) |
10.12.2021, 11:02 | #2 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
ln отсюда - readln (fin);
переставьте сюда - read (x,y); |
10.12.2021, 16:19 | #3 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,330
|
Немного добавлю.
НИКОГДА не принимайте данные с клавиатуры через read(). Эта процедура применяется при чтении данных из файла по словам. Последнее слово строки должно быть прочитано через readln(). При этом, если читается строка целиком, то только readln(). PS: Такое положение вызвано тем обстоятельством, что пользователь завершает ввод нажатием клавиши Enter, которая добавляет в буфер приёма два символа CR и LF. Это так для Windows, а как в других системах не знаю. Эти символы не считываются процедурой read(), но считываются, и буфер очищается, процедурой readln(). PSS: Попробуй донести эту мысль до преподавателя. К сожалению многие этого не знают.
Как-то так, ...
|
11.12.2021, 15:40 | #4 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,834
|
сказал бы одну фразу, будь мужиком: не используй вывод на экран и ввод данных с клавиатуры, а используй чтение исходных данных из файла и запись ответа в файл...
но не буду.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
12.12.2021, 16:57 | #5 |
Я самый любопытный
Участник клуба
Регистрация: 24.07.2012
Сообщений: 1,950
|
Подправил:
Код:
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Таймер срабатывает раньше времени или вообще не срабатывает | Terebonko | JavaScript, Ajax | 1 | 03.08.2017 11:48 |
Поток + Readln | niva622 | Общие вопросы Delphi | 4 | 09.02.2017 13:36 |
Readln и задержка | Freezy | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 17.04.2011 15:26 |
Readln | BaJIuK | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 25.06.2010 04:21 |