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

Проблема с программой в Pascal ABC,Встречено ';',а ожидалось ':'. Если менять, то вылетает ещё ошибка с if

Проблема с программой в Pascal ABC,Встречено ';',а ожидалось ':'. Если менять, то вылетает "Встречено if,а ожидалось выражение".

Сама программа
program dnocalculator;
uses crt;
var
vibor:integer;
a,c,d,e1,e2:real;
b:char;
begin
clrscr;
writeln('Арифметические действия - 1. Квадратный корень - 2.');
readln(vibor);
case vibor of
1: writeln ('Арифметические действия');
textcolor(14):;
writeln('Калькулятор 0.2'):;
write('Введите число: '):;
readln(a):;
textcolor(8):;
write('Введите знак +, -* или / :'):;
readln(b):;
textcolor(14):;
write('Введите второе число: '):;
readln(c):;
If (b='+') or (b='-') or (b='*') or (b='/') then begin
if b='+' then d:=a+c
else
if b='-' then d:=a-c
else
if b='/' then d:=a/c
else
if b='*' then d:=a*c;
textcolor(10);
writeln(d ,' - Результат');
end
else
textcolor(12);
writeln('Некорректное выражение');
2: writeln('Степени и корни');
writeln('Чтобы найти квадратный корень из числа, напишите это число');
readln(e);
If e1>=0 then e2:=sqrt(e1) writeln('Корень из числа',e1,'равен',e2);
else writeln('Корень не изымается');
else writeln('Нет такого выбора');
end
end.
var vibor: byte;
a,c:real;
begin
writeln(' - = Я программа Калькулятор версия 0.2 = -');
repeat
writeln(' - = Выберите действие = -');
writeln('1) Сложение ');
writeln('2) Вычитание ');
writeln('3) Умножение');
writeln('4) Деление');
writeln('5) Квадратный корень из числа');
readln(vibor);
if not (vibor in [1..5]) then writeln ('Выбор действий неверен!')
until (vibor > 0) and (vibor <= 5);
if (vibor in [1..4]) then
begin
write ('введите 1-ое число = ');
readln (a);
write ('введите 2-ое число = ');
readln (c);
end
else
begin
write ('введите число (только положительное) для вычисления корня квадратного = ');
readln (a);
end;
case vibor of
1: writeln ('ответ = ', a+c);
2: writeln ('ответ = ', a-c);
3: writeln ('ответ = ', a*c);
4: writeln ('ответ = ', a / c : 5:2);
5: if a < 0 then writeln ('корней нет') else writeln ('ответ = ', sqrt (a));
end;
end.
Aлeксeй Пaщeнко
Aлeксeй Пaщeнко
20 124
Лучший ответ
Андрюха Окорочков Теперь верю что "Апполон", с программой полета написанной девушкой, слетал на луну ;)
что у тебя за бред в коде?
должно быть примерно так

1: begin
куча кода
end;
2: begin
куча кода
end;
Андрюха Окорочков Не совсем.
Вот так
case vibor of
1: begin тут куча кода end;
2: begin тут куча кода end;
в какой строке?
Кенесары Зарап
Кенесары Зарап
93 962
Зачем по 2 знака препинания :; ?..
Василий Кудрявцев : - запрашивали, я ставил, пропускало дальше
Вот добавил бегин и енд, вроде правильно работает program dnocalculator;
uses crt;
var
vibor:integer;
a,c,d,e1,e2:real;
b:char;
begin
clrscr;
writeln('Арифметические действия - 1. Квадратный корень - 2.');
readln(vibor);
case vibor of

1:begin writeln ('Арифметические действия');
textcolor(14);
writeln('Калькулятор 0.2');
write('Введите число: ');
readln(a);

textcolor(8);
write('Введите знак +, -* или / :');
readln(b);
textcolor(14);
write('Введите второе число: ');
readln(c);
If (b='+') or (b='-') or (b='*') or (b='/') then begin
if b='+' then d:=a+c
else
if b='-' then d:=a-c
else
if b='/' then d:=a/c
else
if b='*' then d:=a*c;
textcolor(10);
writeln(d ,' - Результат');
end
else
textcolor(12);
writeln('Некорректное выражение'); end;
2: begin writeln('Степени и корни');
writeln('Чтобы найти квадратный корень из числа, напишите это число');
readln(e1);
If e1>=0 then begin e2:=sqrt(e1); writeln('Корень из числа',e1,'равен',e2);end
else writeln('Корень не изымается'); end;
else writeln('Нет такого выбора');
end;
end.
Хахах посмотрите на него