Problem z Free Pascal. Proszę o pomoc.
Ostatnio zmodyfikowano 2021-11-07 23:41
Gosia_2003 Temat założony przez niniejszego użytkownika |
Problem z Free Pascal. Proszę o pomoc. » 2021-11-07 22:31:09 Cześć Wszystkim, Chodzę do szkoły programowania i jednym z zadań jest napisanie programu w Lazarusie, konkretniej programu, który liczy czy rok jest przystępny czy nie jest. Napisałam program i wygląda on tak: Program RokPrzestepny; Var rok : Integer; Begin Write( 'Podaj rok: ' ); ReadLn( rok ); If (rok Mod 400 = 0) Or ((rok Mod 4 = 0) And Not(rok Mod 100 = 0)) Then WriteLn( 'Przestepny' ) Else WriteLn( 'Zwykly' ); End.
Problem polega na tym, że po uruchomieniu programu i wpisaniu roku program kończy swoje działanie wyświetleniem komunikatu,,Wykonanie zatrzymane". Nie wyświetla mi nię na czerwono, żadna informacja. Zrobiłam rozeznanie w internecie,ale niczego nie mogę znależć. Czy ktoś ma pomysł co jest nie tak? POzdrawiam, Gosia |
|
DejaVu |
» 2021-11-07 22:33:27 a nie brakuje średnika po przestępny? :) czy w pascalu można było czasem średniki pomijać? |
|
Gosia_2003 Temat założony przez niniejszego użytkownika |
» 2021-11-07 22:42:39 Chodzi o średnik po WriteLn( 'Przestepny' ) ? Wtedy else wyświetla się na czerwono.:( |
|
pekfos |
» 2021-11-07 22:53:43 |
|
Gosia_2003 Temat założony przez niniejszego użytkownika |
» 2021-11-07 23:19:23 Dziękuję serdecznie wszystkim za pomoc. Dokonałam poprawki i dodałam readln() na koniec; Program RokPrzestepny; Var rok : Integer; Begin Write( 'Podaj rok: ' ); ReadLn( rok ); If (rok Mod 400 = 0) Or ((rok Mod 4 = 0) And Not(rok Mod 100 = 0)) Then WriteLn( 'Przestepny' ) Else WriteLn( 'Zwykly' ); Readln() End.
i teraz działa, to znaczy po zapytaniu o rok określa mi czy rok jest zwykły czy przestępny i nie zatrzymuje się tuż po wpisaniu roki. Nie rozumiem czemu Wam działa bez tego tzn. bez readln() ,a mi bez tego nie działał. To wina samego Lazarusa? |
|
pekfos |
» 2021-11-07 23:41:11 Jeśli to pomogło, to źle uruchamiasz swój program. Programy konsolowe powinny być uruchamiane przez terminal. IDE powinno mieć jakąś opcję by podtrzymywać okno konsoli po zakończeniu pracy programu, żeby nie trzeba było pisać takich hacków jak dodatkowy input na końcu programu. https://wiki.freepascal.org/Console_Mode_PascalPróbowałbym z tym
Run in IDE
[..] After your program has finished execution, a message "Press enter" appears on the screen. Thus any output your program generated will remain on the screen until you have had a chance to read it; after you press 'enter' the console window closes. |
|
« 1 » |