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.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д