Когда я отвечаю на первый вопрос, у меня почему то пишет "Правильно ответил на 2 из 9-ти вопросов", а должно быть так "Правильно ответил на 1 из 9-ти вопросов". С 2-8 вопрос все нормально, а вот последний не считает вообще. То есть когда отвечаю на 8 вопрос, пишет "Правильно ответил на 9 из 9-ти вопросов"
(т.к. в первом вопросе засчитало 2). Последний пишет опять "Правильно ответил на 9 из 9-ти вопросов", а не "Правильно ответил на 10 из 9-ти вопросов".
Александр +: var
Form1: TForm1;
ball:integer;
type answers=array[1..9,0..3] of byte;
const otv:answers= ((0,1,0,0),(1,0,0,0),(0,1,0,0),(0,0,1,0),(0,1,0,0),(0,0,1,0),(0,0,1,0),(0,0,0,1),(1,0,0,0));
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ball:=otv[1,radiogroup1.itemIndex]+
otv[2,radiogroup2.itemIndex]+
otv[3,radiogroup3.itemIndex]+
otv[4,radiogroup4.itemIndex]+
otv[5,radiogroup5.itemIndex]+
otv[6,radiogroup6.itemIndex]+
otv[7,radiogroup7.itemIndex]+
otv[8,radiogroup8.itemIndex]+
otv[9,radiogroup9.itemIndex];
if (ball<1) or (ball>10)
then label2.Caption:='Ответье на все вопросы!'
else
label2.caption:='Правильно ответил на '+IntToStr(ball)+' из 9-ти вопросов';
if ball=9
then label3.caption:='Молодец!Ты хорошо знаешь архитектуру Томска. :)'
else
if (ball>=4) and (ball<9)
then label3.caption:='Нормально. У тебя средние знания об архитектуре Томска.'
else label3.caption:='Плохо! Ты очень плохо знаешь архитектуру Томска"';
end;