[Turbo Pascal] Problem z instrukcją warunkową

zizu09
Użytkownik
Użytkownik
Posty: 24
Rejestracja: 30 sty 2010, o 13:51
Płeć: Mężczyzna
Podziękował: 9 razy

[Turbo Pascal] Problem z instrukcją warunkową

Post autor: zizu09 »

Witam! Próbuję rozgryźć pewien problem i nie mogę dojść do rozwiązania :/ Wyskakuje mi błąd:

Kod: Zaznacz cały

Fatal: Syntax error, ; expected but ELSE found
Chcę wyświetlić listę studentów, którzy ukończyli studia w 2013 roku. Oto co naskrobałem:

Kod: Zaznacz cały

[...]
writeln ('Studenci, ktorzy ukonczyli studia w 2013 roku:');
for i:=1 to liczbastudentow do
if A[i].rokegzdyp=2013 then
writeln ('**************************');
writeln ('Nazwisko: ', A[i].nazwisko);
writeln ('Srednia ocen: ', A[i].srednia:1:2);
writeln ('Ocena z pracy dyplomowej: ', A[i].ocena:1:2);
writeln ('Rok egzaminu dyplomowego: ', A[i].rokegzdyp);
writeln ('**************************');
else
writeln ('**************************');
writeln ('Brak studentow, ktorzy ukonczyli studia w 2013 roku');
writeln ('**************************');
[...]
Może i problem banalny, ale mam z tym mega problemy i bardzo ucieszyłbym się jak ktoś zechciałby wskazać błąd. Pozdrawiam.
Awatar użytkownika
Althorion
Użytkownik
Użytkownik
Posty: 4541
Rejestracja: 5 kwie 2009, o 18:54
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 9 razy
Pomógł: 662 razy

[Turbo Pascal] Problem z instrukcją warunkową

Post autor: Althorion »

Potrzebujesz umieścić grupę instrukcji w bloku. Ten w Pascalu tworzy się umieszczając fragment kodu pomiędzy BEGIN i END:

Kod: Zaznacz cały

for i:=1 to liczbastudentow do
begin
  if A[i].rokegzdyp=2013 then
  begin
    writeln ('**************************');
    writeln ('Nazwisko: ', A[i].nazwisko);
    writeln ('Srednia ocen: ', A[i].srednia:1:2);
    writeln ('Ocena z pracy dyplomowej: ', A[i].ocena:1:2);
    writeln ('Rok egzaminu dyplomowego: ', A[i].rokegzdyp);
    writeln ('**************************')
  end
  else
  begin
    writeln ('**************************');
    writeln ('Brak studentow, ktorzy ukonczyli studia w 2013 roku');
    writeln ('**************************');
  end;
  [...]
end
zizu09
Użytkownik
Użytkownik
Posty: 24
Rejestracja: 30 sty 2010, o 13:51
Płeć: Mężczyzna
Podziękował: 9 razy

[Turbo Pascal] Problem z instrukcją warunkową

Post autor: zizu09 »

Dziękuję za odpowiedź!

Hm, mam nadzieję, że nie zostanie to odebrane jako przejaw lenistwa, bo naprawdę staram się to "ogarnąć" ale mimo wysiłków nic z tego nie wychodzi... Ale wracając do tematu: jak to zrobić, żeby napis "Brak studentów, którzy ukończyli studia w 2013 roku" został wyświetlony tylko raz a nie tyle razy ilu jest studentów w bazie? Nie wiem czy wobec zastosowania takiego rozwiązania jak podałem wyżej jest to w ogóle możliwe.
TheZerter
Użytkownik
Użytkownik
Posty: 75
Rejestracja: 13 paź 2013, o 14:36
Płeć: Mężczyzna
Podziękował: 7 razy
Pomógł: 1 raz

[Turbo Pascal] Problem z instrukcją warunkową

Post autor: TheZerter »

Wyrzuć z pętli linijkę informującą o braku studentów z 2013 roku. Najpierw warunek, a potem pętla, bo masz na odwrót.
ODPOWIEDZ