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