Test z pascala z odpowiedziami a, b i c

0

Mam prośbę. Kto moógłby znaleźdź tutaj błąd? Zależy mi na odpowiedziach w formie a b c, ale gdy tylko uruchamiam program, to mam losowo wybierane pytania...

   
program sprawdzian_pascal;
uses crt;
var
i,x:integer;
p:byte;
a:char;



begin
textbackground(lightblue);
clrscr;



        Repeat
        textcolor(14);
        gotoxy(6,6);
        Writeln('Test z umiejetnosci programowania w jezyku Pascal');
        textcolor(15);
        gotoxy(32,11);
        writeln('1 <- Start');
        gotoxy(32,12);
        writeln('2 <- Autor');
        gotoxy(32,13);
        writeln('3 <- Koniec');

        readln(i);
        clrscr;
        if i=1 then

        begin
        repeat
        p:=0;
                gotoxy(6,6);
                writeln('1. Gdy chcemy napisać wypracowanie włączamy jaki program?');
                writeln;
                writeln('a) Word');
                writeln('b) Access');
                writeln('c) Excel');
                read(a);
                if a='a' then
                p:=p+1;
                clrscr;
                





                writeln;

        writeln('Uzyskales ',p,' na 20  Punkow');

        case p of
    0..9  : writeln('Pala, Siadaj!!');
    10..15 : Writeln('Ladnie');
    16..20 : Writeln('Bardzo Ladnie');
     end;
        until p<1;

        end;

        if i=2 then

        begin

                TextColor(15);
                GotoXY(32,11);
                writeln('Bartosz Kupajczyk II ti');
                delay(2000);

        end;

        if i=3 then

        begin
                exit


        end;


        writeln;
        writeln;
        writeln('Chcesz wrocic?');
        writeln('1 <- TAK');
        writeln('2 <- NIE');
        readln(x);
        clrscr;
        if x=1 then
        until x=2;


end.
 
0

To, że ustawisz sobie tymczasową nazwę użytkownika na Administrator i powtorzysz swój post w złym dziale aż cztery razy nie spowoduje, że będziesz zajebistym programistom. Nie spowoguje też, że ktoś szybciej Tobie odpowie. Poniżej masz poprawiony kod, lecz nie wiem jakiego Pascala używasz, ale nie mozna mieć pewności co do pokazywania polskich znaków diakrytycznych w konsoli. Poza tym formatuj kod po ludzku, nie umieszczaj tysiąca zbędnych pustych linijek, a zmienne oraz wszelkie nazwy funkcji czy procedur - pisz zawsze tak samo, czyli z wielkiej litery. Jeżeli nie umiesz samodzielnie formatować kodu to skorzystaj z programu dostępnego pod poniższym adresem (link nie wygaśnie).
http://www.mediafire.com/file/80zkrt8absx60cv/delfor_changed_by_olesio.rar

program sprawdzian_pascal;

uses
  crt;

var
  a : char;
  p : byte;
  i, x : integer;

begin
  textbackground(lightblue);
  clrscr;
  repeat
    textcolor(14);
    gotoxy(6, 6);
    Writeln('Test z umiejetnosci programowania w jezyku Pascal');
    textcolor(15);
    gotoxy(32, 11);
    writeln('1 <- Start');
    gotoxy(32, 12);
    writeln('2 <- Autor');
    gotoxy(32, 13);
    writeln('3 <- Koniec');
    readln(i);
    clrscr;
    case I = 1 then
    begin
      p := 0;
      gotoxy(6, 6);
      writeln('1. Gdy chcemy napisać wypracowanie włączamy jaki program?');
      writeln;
      writeln('a) Word');
      writeln('b) Access');
      writeln('c) Excel');
      read(a);
      if a = 'a' then
        p := p + 1;
      clrscr;
      writeln;
      writeln('Uzyskales ', p, ' na 20  Punkow');
      case p of
        0..9 : writeln('Pala, Siadaj!!');
        10..15 : Writeln('Ladnie');
        16..20 : Writeln('Bardzo Ladnie');
      end;
    end;
    if i = 2 then
    begin
      TextColor(15);
      GotoXY(32, 11);
      writeln('Bartosz Kupajczyk II ti');
      delay(2000);
    end;
    if i = 3 then
    begin
      Exit;
    end;
    writeln;
    writeln;
    writeln('Chcesz wrocic?');
    writeln('1 <- TAK');
    writeln('2 <- NIE');
    readln(x);
    clrscr;
    if x = 1 then
  until x = 2;
end.
0

ta odpowiedź jest komentarzem, bo w komentarzu nie da się < code = delphi > etc.
Ale jak wpisze tam coś takiego:

var I : Integer; begin if 
I = 1
then I := 2 else try finally end; end;

to mi tego wszystkiego nie przeniesie do nowej linji, tylko wstawi dwie spacje na początek.

0

TomRiddle: a kto tak pisze chaotycznie, jak masz taki kod od kogoś to go olej i pisz jak należy, a DelFor jest skonstruowany tak jak jest skonstruoany :P Nie podoba się nie musisz używać, możesz napisać wlasny. Jednak dla mnie jest on wystarczający. Nigdy nie piszę w jednej lini jak potłuczony, dla mnie najważniejszymi efektemi używania DelFor są odpowiednie wcięcia oraz odstępy między operatorami.

1 użytkowników online, w tym zalogowanych: 0, gości: 1