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

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

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

нужно написать программу, которая добавляет записи в файл на компьютере (если конкретно - телефонную книгу)
Листинг программы
  1. program telefonnaja_kniga;
  2. uses crt;
  3. var t:text; phone_number:string; imya:string; otvet:integer;
  4. begin
  5. clrscr;
  6. repeat
  7. writeln('Vedite imya');
  8. readln(imya);
  9. writeln('Vvedite nomer telefona');
  10. readln(phone_number);
  11. assign(t,'C:\Users\Alex\Desktop\output.txt');
  12. Append(t);
  13. writeln(t,imya,phone_number);
  14. writeln('Hotite zapisat eshe odin kontakt? Esli da, nazhmite 0, esli net nazhmite 1');
  15. readln(otvet)
  16. until otvet=1;
  17. close(t);
  18. writeln('Gotovo!');
  19. readkey;
  20. end.

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

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

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

textual
Листинг программы
  1. program telefonnaja_kniga;
  2. uses crt;
  3. var t:text; phone_number:string; imya:string; otvet:integer;
  4. begin
  5. clrscr;
  6. assign(t,'output.txt');
  7. Append(t);
  8. repeat
  9. writeln('Vedite imya');
  10. readln(imya);
  11. writeln('Vvedite nomer telefona');
  12. readln(phone_number);
  13. writeln(t,imya,phone_number);
  14. writeln('Hotite zapisat eshe odin kontakt? Esli da, nazhmite 0, esli net nazhmite 1');
  15. readln(otvet)
  16. until otvet=1;
  17. close(t);
  18. writeln('Gotovo!');
  19. readkey;
  20. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы