Repeat until не работает - Free Pascal

Узнай цену своей работы

Формулировка задачи:

нужно написать программу, которая добавляет записи в файл на компьютере (если конкретно - телефонную книгу)
program telefonnaja_kniga;
uses crt;
var t:text; phone_number:string; imya:string; otvet:integer;
begin
clrscr;
repeat
writeln('Vedite imya');
readln(imya);
writeln('Vvedite nomer telefona');
readln(phone_number);
assign(t,'C:\Users\Alex\Desktop\output.txt');
Append(t);
writeln(t,imya,phone_number);
writeln('Hotite zapisat eshe odin kontakt? Esli da, nazhmite 0, esli net nazhmite 1');
readln(otvet)
until otvet=1;
close(t);
writeln('Gotovo!');
readkey;
end.

Первая запись в память программы (НЕ в файл) происходит спокойно, но после выбора ответа 0 (да), имя и телефон можно вбить, а после нажатия кнопки Enter пишется Error Exitcode:5 и запись в файл не происходит, так как программа вылетает.

Как исправить??

Решение задачи: «Repeat until не работает»

textual
Листинг программы
program telefonnaja_kniga;
uses crt;
var t:text; phone_number:string; imya:string; otvet:integer;
begin
clrscr;
assign(t,'output.txt');
Append(t);
repeat
writeln('Vedite imya');
readln(imya);
writeln('Vvedite nomer telefona');
readln(phone_number);
writeln(t,imya,phone_number);
writeln('Hotite zapisat eshe odin kontakt? Esli da, nazhmite 0, esli net nazhmite 1');
readln(otvet)
until otvet=1;
close(t);
writeln('Gotovo!');
readkey;
end.

Объяснение кода листинга программы

  1. Объявление переменных:
    • t: text (объект для работы с файлами)
    • phone_number: string (строка для хранения номера телефона)
    • imya: string (строка для хранения имени)
    • otvet: integer (целое число для хранения ответа пользователя)
  2. Очистка экрана с помощью функции clrscr.
  3. Установка файла вывода в режим добавления с помощью функции Append(t).
  4. Ввод имени с помощью функции readln(imya).
  5. Ввод номера телефона с помощью функции readln(phone_number).
  6. Запись имени и номера телефона в файл с помощью функции writeln(t, imya, phone_number).
  7. Вывод сообщения о запросе на добавление еще одного контакта с помощью функции writeln('Hotite zapisat eshe odin kontakt? Esli da, nazhmite 0, esli net nazhmite 1').
  8. Чтение ответа пользователя с помощью функции readln(otvet).
  9. Проверка значения переменной otvet. Если оно равно 0, то это означает, что пользователь хочет добавить еще один контакт, если 1 - то нет.
  10. Повторение шагов 4-9 до тех пор, пока пользователь не введет 1.
  11. Закрытие файла t с помощью функции close(t).
  12. Вывод сообщения Gotovo! с помощью функции writeln('Gotovo!').
  13. Ожидание нажатия клавиши с помощью функции readkey.
  14. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы