Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Переделать

Автор: DEXTER 31.05.2007 4:16

Вот в этой проге мне надо переделать, одну весч!



uses crt;
Var
f:text;
s:string;
ch:char;
i,j,sum,e,t: integer;

Begin clrscr;

Assign (f,'d:\lab\fon.txt');
Reset(f);

Sum:=0;
i:=0;

While (not(eof(f))) do begin
clrscr;
inc(i);
Writeln ('Вопрос N ', i);
ReadLn (f,s);
Writeln (s);
Writeln ('Варианты ответов');
for j:=1 to 4 do
begin
Write(j,' ');
ReadLn(f,s);
Writeln(s);
end;
Writeln;
repeat
ch:=ReadKey;
Until ch in ['1'..'4'];

for j:=1 to 4 do
begin
ReadLn(f,s);
if j= ord(ch)-48 then begin
val(s,t,e);
sum:=sum+t;
end;
end;
end;

WriteLn('Сумма= ', sum);
Close(f);
ReadKey;
End.




тут выволится вопрос из файла, и 4 варианта ответа к нему. Я выбираю вариант клавишами 1..4 (без клавиши Enter)! А мне надо чтобы я выбирал какую-либо цифру с варинтом ответа, и нажимал Enter!
Помогите пожалуйста!

Добавлено через 4 мин.
да ещё подскажите пожалуйста как мне сделать в этой проге чтобы вопросы не повторялись!

Автор: volvo 31.05.2007 4:22

Цитата
 ch:=ReadKey;
поменяй на ReadLn(ch)

Автор: DEXTER 31.05.2007 5:05

Спасибо! Помогло!
Правда ещё проблемка есть....!! smile.gif

Вот там где у меня сумма выводится.... Я переделал эту прогу в Графический режим и
OutText(sum); ---ругается!! дает ошибку 27. Я так понял OutText не может integer выводить? Как её решить?

Автор: volvo 31.05.2007 5:28

В хелпе на процедуру Str описывается такая функция:

Цитата(TP Help)
function IntToStr(I: Longint): String;
{ Convert any integer type to a string }
var
S: string[11];
begin
Str(I, S);
IntToStr := S;
end;




С ее помощью и выводить:
OutText(IntToStr(sum));