Пропускается readln в цикле. В чем фокус? - Free Pascal
Формулировка задачи:
Код:
вроде все визуально норм. но на втором круге цикла получаем шнягу, как на скриншоте, слипаются две строчки ввоа. Беда-помогите.
Листинг программы
- Program SPISOK;
- uses crt;
- type
- sp=record
- sur,nam,pat:string[20];
- age:integer;
- sex:Char;
- end;
- var
- file_name:string[10];
- f:file of sp;
- str:sp;
- i:integer;
- begin
- clrscr;
- writeln ('Введите логин');
- readln (file_name);
- assign (f,file_name+'.note');
- rewrite(f);
- repeat
- with str do begin
- write ('Введите фамилию-');
- readln (sur);
- write ('Введите имя-');
- readln (nam);
- write ('Введте отчество-');
- readln (pat);
- write ('Введите возраст-');
- readln (age);
- write ('Введите пол (м/ж)-');
- repeat read (sex); until (sex='м') or (sex='ж');
- writeln;
- end;
- write (f,str);
- writeln ('Для продолжения введите 1,');
- write ('для того чтобы закончить запись введите 0:');
- read (i);
- until i=0;
- close (f);
- end.
Решение задачи: «Пропускается readln в цикле. В чем фокус?»
textual
Листинг программы
- Program SPISOK;
- uses crt;
- type
- sp=record
- sur,nam,pat:string[20];
- age:integer;
- sex:Char;
- end;
- var
- file_name:string[10];
- f:file of sp;
- str:sp;
- i:integer;
- begin
- clrscr;
- writeln ('Введите логин');
- readln (file_name);
- assign (f,file_name+'.note');
- rewrite(f);
- repeat
- with str do begin
- writeln ('Введите фамилию-');
- readln (sur);
- writeln ('Введите имя-');
- readln (nam);
- writeln ('Введте отчество-');
- readln (pat);
- writeln ('Введите возраст-');
- readln (age);
- writeln ('Введите пол (м/ж)-');
- repeat readln (sex); until (sex='м') or (sex='ж');
- writeln;
- end;
- write (f,str);
- writeln ('Для продолжения введите 1,');
- write ('для того чтобы закончить запись введите 0:');
- readln (i);
- until i=0;
- close (f);
- end.
Объяснение кода листинга программы
- Создание формы с полями для ввода информации о пользователе.
- Запрос на ввод логина пользователя.
- Формирование имени файла для записи данных.
- Открытие файла для записи информации о пользователе.
- Проверка существования файла и его открытие для записи данных.
- Ввод информации о пользователе в файл.
- Повторный запрос на ввод информации о пользователе до тех пор, пока пользователь не введет 0.
- Закрытие файла после окончания записи информации о пользователе.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д