Proszę o pomoc, pascal, program "test"

Pawe Maysz

Nowicjusz
Dołączył
24 Październik 2013
Posty
1
Punkty reakcji
0
Witam. Nie wiem czemu, przy każdym odpaleniu programu i odpowiadaniu na pytania dobrymi odpowiedziami zawsze wyskakuje komunikat o błędnej odpowiedzi... Kod:
Kod:
procedure wczytanie_historia;
begin
clrscr;
        assign(hista,'C:\hista.txt');
        reset(hista);
                for i:=1 to 10 do
                begin
                readln(hista,pytania[i,1]);
                end;
        close(hista);

        assign(histaodp,'C:\histaodp.txt');
        reset(histaodp);
                for i:=1 to 10 do
                begin
                readln(histaodp,pytania[i,2]);
                end;
        close(histaodp);
end;

procedure wczytanie_polski;
begin
clrscr;
        assign(polak,'C:\polak.txt');
        reset(polak);
                for i:=1 to 10 do
                begin
                readln(polak,pytania[i,1]);
                end;
        close(polak);

        assign(polakodp,'C:\polakodp.txt');
        reset(polakodp);
                for i:=1 to 10 do
                begin
                readln(polak,pytania[i,2]);
                end;
        close(polakodp);
end;

procedure matematyka;
begin

        for i:=1 to 10 do
        begin
                writeln(pytania[i,1]);
                readln(odp);
                        if (odp = pytania[i,2]) then begin
                        writeln('świetnie!');
                        pkt:=pkt+1;
                        end;

                        if (odp<>pytania[i,1]) then
                        begin
                        writeln('No niestety nie. :c');
                        end;
        readln;
        end;
end;


BEGIN
clrscr;
pkt:=0;
spis;

        writeln('Podaj numer przedmiotu: ');
        readln(x);

        case x of
        1 : begin wczytanie_matematyka;
        matematyka;
        end;


        2 : wczytanie_historia;
        end;
readln;
END.
 
Dołączył
25 Wrzesień 2013
Posty
4
Punkty reakcji
0
if (odp = pytania[i,2]) then begin
writeln('świetnie!');
pkt:=pkt+1;
end;

if (odp<>pytania[i,1]) then
begin
writeln('No niestety nie. :c');
end;
tu masz błąd odpowiedz są chyba w 2 :) więc :
if (odp<>pytania[i,2]) then

swoją drogą poczytaj o parametrach dla funkcji ten program mógł by mieć z 3 razy mniej linijek.
 
Do góry