Error: Illegal qualifier - Free Pascal
Формулировка задачи:
написал такой код:
Вот ,что пишет компилятор :
nem.pas(16,32) Error: Illegal qualifier
nem.pas(16,34) Fatal: Syntax error, ")" expected but "." found
nem.pas(0) Fatal: Compilation aborted
Что я делаю не так?
type metk=(a,b); st=record mark:string; fio:string; nomr:string; otm:metk; end; var i:integer; tabl:array [1..10] of st; f:file of st; procedure zap(tabl:st;i:integer); var c:string; begin write('marka=');readln(tabl [i].mark); write('fio=');readln(tabl [i].fio); write('nomer=');readln(tabl [i].nomr); write('otmetka='); readln(c); case c of 'yes':tabl[i].otm:=a; 'no' :tabl[i].otm:=b; end; begin assign(f,'C:\text.txt'); rewrite(f); i:=1; repeat writeln('заполните ',i,' строчку'); zap(tabl,i); inc(i); until i>5; close(f); reset(f); write('end'); end.
Решение задачи: «Error: Illegal qualifier»
textual
Листинг программы
type metk=(a,b); st=record mark:string; fio:string; nomr:string; otm:metk; end; mas=array [1..10] of st; fail=file of st; procedure zap(var tabl:mas;var n:integer;var f:fail); var i:integer; c:char; begin repeat write('Количество записей не более 10 n='); readln(n); until n in [1..10]; writeln('Введите данные:'); for i:=1 to n do begin writeln('Запись ',i); write('marka=');readln(tabl[i].mark); write('fio=');readln(tabl [i].fio); write('nomer=');readln(tabl [i].nomr); write('otmetka(y/n)=');readln(c); case c of 'y':tabl[i].otm:=a; 'n':tabl[i].otm:=b; end; write(f,tabl[i]); end; end; var n,i:integer; tabl:mas; f:fail; begin assign(f,'C:\text.txt'); rewrite(f); Zap(tabl,n,f); close(f); reset(f); write('end'); end.
Объяснение кода листинга программы
В данном коде на языке Free Pascal реализована процедура zap, которая отвечает за добавление записей в файл 'text.txt'.
- Тип данных metk представляет собой перечисление (a,b), где a и b - некоторые значения.
- Тип данных st - это запись, содержащая поля mark, fio, nomr и otm типа string, а также поле otm типа metk.
- Массив mas[1..10] содержит 10 записей типа st.
- Файл fail содержит записи типа st.
- Процедура zap запрашивает у пользователя количество записей для добавления (не более 10), затем запрашивает сами данные (mark, fio, nomr) и значение поля otm (y/n).
- В зависимости от введенного значения c, поле otm принимает значение a или b.
- Записи добавляются в файл 'text.txt'.
- В конце работы программы выводится сообщение 'end'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д