2014-09-20 4 views
0

Итак, я пытаюсь написать программу для школы Проблема в том, что даже с readln() программа закрывается сразу после последнего вывода. Это код, но я не знаю, в чем проблема, и я пробовал все;Программа закрывается сразу после последнего ввода

program Calcolo; 
var El, EC, S, N:Real; 
var nome:string; 
function returnVote(a, b, c, d:Real):Real; 
begin 
returnVote:= a+(2 * b) - (c/2) - (d/4); 

end; 

begin 
writeln('Programma per calcolare il voto fornendo il numero di risposte esatte,'); 
writeln('quelle esatte e incomplete, quelle sbagliate e quelle non date'); 
writeln('====================================================================='); 
writeln('Fornire il nome dello studente: '); 
read(nome); 
writeln('Fornire il numero di risposte esatte e complete: '); 
read(EC); 
writeln('Fornire il numero di risposte esatte ma incomplete: '); 
read(El); 
writeln('Fornire il numero di risposte sbagliate: '); 
read(S); 
writeln('Fornire il numero di risposte non date: '); 
read(N); 
writeln('Il voto calcolato per lo studente ', nome,' e di: ', returnVote(El, EC, S, N):3:1); 
readln(); 
end. 

ответ

0

Когда пользователь вводит номер последнего и прессы введите число записывается в переменную N, но ввода остается в буфере. Поэтому, когда программа достигает последнего readln(), она считывает ввод и выходы.

Чтобы предотвратить это, вы должны заменить все свои read s на readln s (или, по крайней мере, на последний).

Это не хорошая практика использования readln, когда вам нужно посмотреть, что ваша программа записала на выходе. Если вы используете старый IDE, такой как Turbo Pascal, то есть пункт меню, который показывает вам результат после завершения программы. Современные IDE не закрывают окно, и если вы не используете какую-либо IDE, вы можете увидеть результат в своей консоли.

+0

Я использую dev-pascal как IDE (наш профессор сказал нам использовать его), но программа всегда закрывается без readln(); В любом случае, спасибо за ответ –

+0

@GiovanniSolimeno Я заменил 'read (N)' на 'readln (N)', и когда я его запустил, он ждал до закрытия приложения. Я использовал fpc (free-pascal). – emjay

Смежные вопросы