Dodaj do ulubionych

Losowanie w FPC

29.02.08, 14:38
Nie wiem jaki blad w moim programie i w ogole jak go naprawic. Pomoze mi kto?
Listing:
PROGRAM TOTOLOTEK;
USES Dos,Crt;
var
a1,a2,a3,a4,a5,a6,losowanietoto : integer;
begin
TextBackground(white);
Clrscr;
TextColor(Black);
Writeln('Witamy w studiu TOTO LOTKA! Obstaw pierwszĄ liczb© od 0 - 49:');
readln(a1);
Writeln('DrugĄ:');
readln(a2);
writeln('TrzeciĄ');
readln(a3);
writeln('CzwartĄ');
readln(a4);
writeln('PiĄtĄ:');
readln(a5);
writeln('I ostatniĄ, sz˘stĄ:');
readln(a6);
gotoxy(30,13);
writeln('LOSOWANIE...');
Delay(10000);
gotoxy(30,14);
writeln('MAMY WYNIKI!');
writeln;
writeln;
Randomize;
losowanietoto := Random(49);
write(losowanietoto);
writeln(' to pierwsza liczba!');
if a1 = losowanietoto
then writeln('Poprawnie obstawiles pierwszĄ liczbe wygrales 4 000 000zl!')
else writeln('Niestety, pierwsza obstawiona przez ciebie liczba nie zgadza si© z pierwszĄ wylosowanĄ liczbĄ!');
readln;
Randomize;
losowanietoto := Random(49);
write(losowanietoto);
writeln(' to druga liczba!');
if a2 = losowanietoto
then writeln('Poprawnie obstawiles drugĄ liczbe wygrales 4 000 000zl!')
else writeln('Niestety, druga obstawiona przez ciebie liczba nie zgadza si© z drugĄ wylosowanĄ liczbĄ!');
readln;
Randomize;
losowanietoto := Random(49);
write(losowanietoto);
writeln(' to trzecia liczba!');
if a3 = losowanietoto
then writeln('Poprawnie obstawiles trzeciĄ liczbe wygrales 4 000 000zl!')
else writeln('Niestety, trzecia obstawiona przez ciebie liczba nie zgadza si© z trzeciĄ wylosowanĄ liczbĄ!');
readln;
Randomize;
losowanietoto := Random(49);
write(losowanietoto);
writeln(' to czwarta liczba!');
if a4 = losowanietoto
then writeln('Poprawnie obstawiles czwartĄ liczbe wygrales 4 000 000zl!')
else writeln('Niestety, czwarta obstawiona przez ciebie liczba nie zgadza si© z czwartĄ wylosowanĄ liczbĄ!');
readln;
Randomize;
losowanietoto := Random(49);
write(losowanietoto);
writeln(' to piĄta liczba!');
if a5 = losowanietoto
then writeln('Poprawnie obstawiles piĄtĄ liczbe wygrales 4 000 000zl!')
else writeln('Niestety, piĄta obstawiona przez ciebie liczba nie zgadza si© z piĄtĄ wylosowanĄ liczbĄ!');
readln;
Randomize;
losowanietoto := Random(49);
write(losowanietoto);
writeln(' to sz˘sta liczba!');
if a6 = losowanietoto
then writeln('Poprawnie obstawiles sz˘stĄ liczbe wygrales 4 000 000zl!')
else writeln('Niestety, sz˘sta obstawiona przez ciebie liczba nie zgadza si© z szostĄ wylosowanĄ liczbĄ!');
readln;
writeln('KONIEC STUDIA TOTOLOTKA! Zapraszamy za tydzieä!');
readln;
end.
Okno kompilatora:
img153.imageshack.us/my.php?image=fpcbladutomek1997tl1.gif
Obserwuj wątek
    • user0001 Re: Losowanie w FPC 29.02.08, 21:55
      Kilka luźnych uwag:

      1. Po tym okienku z informacją o kompilacji powinny pojawić się komunikaty o
      błędach, dopiero czytając te komunikaty można mieć coś powiedzieć o źródle błędów.
      2. Nie wklejaj tak długiego kodu na forum. Na tym forum kod traci wcięcia, przez
      co staje się zupełnie nieczytelny, dodatkowo linijki są łamane, co utrudnia
      zastosowanie metody "wytnij i wklej". Jeśli nie dasz rady zmieścić problemu w
      kilku (<10) linijkach, to lepiej spakuj go i zamieść na jakimś rapidshare.
      3. Co ciebie podkusiło aby pisać w Pascalu?
      4. Nie wywołuj tak często Randomize, tą procedurę wywołujesz tylko raz aby
      zainicjować RNG (generator liczb losowych), potem RNG sam się kręci i nie
      potrzebuje kolejnego inicjowania.
      5. Przeczytaj rozdział o tablicach i pętli for, zamiast a1, a2, ..., a6 powinna
      być tablica. Cytując profesora Dijkstrę: "2 or more, use a for".
      6. Zastanów się nad algorytmem. Aby wgrać w loterii którą zaproponowałeś trzeba
      wyznaczyć 6 liczb w kolejności w jakiej zostaną wylosowane. W prawdziwym totku
      kolejność liczb nie jest ważna.

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka