Другие языки программирования и технологии

что тут неправильно? ? (Turbo Pascal)

Операция вычитания неприменима к символам. Это не С.
"и если заметили еще ошибки то исправьте пожалуйста" Ошибок много, но их трудно исправить, надо переделывать почти все, гораздо проще написать заново. Но для этого нужно условие задачи.

P.S. Если это та задача, которая упоминалась в твоем более раннем вопросе, то

function g(c:char):boolean;
begin g:=pos(c,'АЕИОУЫЭЮЯаеиоуыэюя')=0 end;
var c:char;
begin
write('Введите символ и нажмите <enter>: '); readln(c);
if g(c) then writeln('Символ ',c,' является согласной буквой. ')
else writeln('Символ ',c,' не является согласной буквой. '); readln
end.
Иван Петкевич
Иван Петкевич
86 974
Лучший ответ
Ошибка может быть в самой функции if которая простирается на 3 строки. Может вместо and использовать or?

Вместо ifconstant кругом пиши ifconsonant

поменяй истина и ложь местами
if(...)
ifconsonant:=true
else ifconsonant:=false
Функции LowerCase в Турбо Паскале нет.
Она есть в Delphi, Free Pascal, и подобных им (т. е. в диалектах Object Pascal, которые появились гораздо позже реализованного в Turbo Pascal) в модуле SysUtils.
Para Bellum
Para Bellum
51 590
LowerCase - нигде видимо не описана такая функция. Возможно она внешняя и подключается с какими-нибудь библиотеками.
Но вообще довольно странный вопрос для человека написавшего такой код - вернее код не соответствует уровню знаний - короче явно не ваш код и 100% не стоит его использовать в качестве домашки какой-нибудь.
Может, в выделенном идентификаторе (который должен был быть LowerCase) попали кирилические символы? Типа А, С, Е