Вирішив створити власну, невеличку, програмку. При написанні наткнувся на помилку, як ви вже зрозуміли - потрібна допомога. (Для деяких сюжет програми може показатись туповатим, прошу не судити)
Суть: потрібно ввести тип персонажа, рівень який бажаєте і т.д. при вводі рівня потрібно, щоб коли вводиш число <>90 вибивало "У нас PvP сервер, введіть рівень заново, або виберіть PvE-сервер", і після цього висвічувалось "Бажаєте змінити сервер на PvE?" при вводі "так (да/tak/da)" щоб програма заново кидала на ввод рівня і вже після вводу числа <90 але >0 вибивало продовження програми з "рівень одягу персонажа".
Є частина коду де я не можу вирішити проблему (код нище)
▼Прихований текст
for i:=1 to n do
with a1[i] do
begin
write('Введіть тип персонажа: '); readln(perc);
write('рівень який ви хочете: '); readln(lvl);
if lvl<>90 then write('У нас PvP сервер, введіть рівень заново, або виберіть PvE-сервер')
else
if lvl=
write('рівень одягу персонажа: '); readln(ilvl);
write('та нік який ви бажаєте: '); readln(nickname);
writeln('Бажаєте продовжити?'); readln(s);
if (s='ні') or (s='ni') or (s='net') or (s='нет') then goto m1
else writeln('Зачекайте...');
m1:writeln;
end;
Приклад всієї програми:
▼Прихований текст
program zd;
uses crt;
label m1,m2,m3;
const n=2;
type wow=record
perc:string[15];
lvl:integer;
ilvl:integer;
nickname:string[20];
end;
var a1:array[1..n] of wow;
i,a:integer;
s:string[3];
begin
clrscr;
for i:=1 to n do
with a1[i] do
begin
write('Введіть тип персонажа: '); readln(perc);
write('рівень який ви хочете: '); readln(lvl);
if lvl<>90 then write('У нас PvP сервер, введіть рівень заново, або виберіть PvE-сервер')
write('Бажаєте вибрати PvE-сервер?')
else
if lvl=
write('рівень одягу персонажа: '); readln(ilvl);
write('та нік який ви бажаєте: '); readln(nickname);
writeln('Бажаєте продовжити?'); readln(s);
if (s='ні') or (s='ni') or (s='net') or (s='нет') then goto m1
else writeln('Зачекайте...');
m1:writeln;
end;
writeln;
writeln('Ваш персонаж створюється, зачекайте...');
for i:=1 to n do
with a1[i] do
begin
if (lvl>90) or (ilvl>520) or (lvl<90) or (ilvl<0) then
writeln('Існування такого персонажа не можливе...')
else
write(perc:10,lvl:5,ilvl:5,nickname:10);
writeln;
end;
readln;
end.
Приклад не зовсім робочої програми без цієї проблеми (тут інша проблема: при вводі "ні" програма не переходить на мітку, а починає роботу з нуля, призміні положення мітки на 31 рядок - проблема не зникає, я зьявляється "переход goto на метку m1 невозможен"):
▼Прихований текст
program zd;
uses crt;
label m1,m2,m3;
const n=2;
type wow=record
perc:string[15];
lvl:integer;
ilvl:integer;
nickname:string[20];
end;
var a1:array[1..n] of wow;
i,a:integer;
s:string[3];
begin
clrscr;
for i:=1 to n do
with a1[i] do
begin
write('Введіть тип персонажа: '); readln(perc);
write('рівень який ви хочете: '); readln(lvl);
if (lvl>90) or (lvl<90) then
write('У нас PvP сервер, введіть рівень заново...')
else
write('рівень одягу персонажа: '); readln(ilvl);
write('та нік який ви бажаєте: '); readln(nickname);
writeln('Бажаєте продовжити?'); readln(s);
if (s='ні') or (s='ni') or (s='net') or (s='нет') then goto m1
else writeln('Зачекайте...');
m1:writeln;
end;
writeln;
writeln('Ваш персонаж створюється, зачекайте...');
for i:=1 to n do
with a1[i] do
begin
if (lvl>90) or (ilvl>520) or (lvl<90) or (ilvl<0) then
writeln('Існування такого персонажа не можливе...')
else
write(perc:10,lvl:5,ilvl:5,nickname:10);
writeln;
end;
readln;
end.
P.S. Як деякі здогадались сюжет програми полягає в частині гри World of Warcraft (WoW).
P.S.S. Прошу не судити мої мотиви, або просто забити на сюжет і глянути на код!
P.S.S.S. Багато раз редагував повідомленя, задолбався, тому якщо замітите помилку в тексті - перефразуйте її як вам потрібно - виправляти не буду!