Скачиваний:
17
Добавлен:
08.01.2014
Размер:
1.22 Кб
Скачать
(* рТПГЕДХТБ yesno -- РПМХЮЙФШ ПФЧЕФ ПФ РПМШЪПЧБФЕМС *)
uses stdio;

const
YES=1;
NO=0;
ANSWSZ=80;
pdefault:pchar = 'оБВЕТЙФЕ "y" (YES), ЙМЙ "n" (NO)';
error:pchar = 'оЕПРТЕДЕМЕООЩК ПФЧЕФ';


function yesno (prompt:pchar):integer;
var
buf:array [0..ANSWSZ-1] of char;
p_use, p:pchar;
begin
(* чЩЧЕУФЙ РТЙЗМБЫЕОЙЕ, ЕУМЙ ПО ОЕ ТБЧОП nil.
* йОБЮЕ ЙУРПМШЪПЧБФШ РТЙЗМБЫЕОЙЕ РП ХНПМЮБОЙА
* pdefault *)
if prompt <> nil then
p_use := prompt
else
p_use := pdefault;
(* вЕУЛПОЕЮОЩК ГЙЛМ ДП РПМХЮЕОЙС РТБЧЙМШОПЗП ПФЧЕФБ. *)
while true do
begin
(* чЩЧЕУФЙ РТЙЗМБЫЕОЙЕ *)
printf ('%s > ', [p_use]);
if fgets (buf, ANSWSZ, stdin) = nil then
begin
yesno:=EOF;
exit;
end;
(* хДБМЙФШ РТПВЕМШОЩЕ УЙНЧПМЩ *)
p := buf;
while isspace (byte(p^)) do
inc(p);
case p^ of
'Y','y':
begin
yesno:=YES;
exit;
end;
'N','n':
begin
yesno:=NO;
exit;
end;
else
printf (#$a'%s'#$a, [error]);
end;
end;
end;


var
ans:integer;
begin
ans := yesno (nil);
printf ('рПМХЮЕО ПФЧЕФ: ',[]);
if ans = YES then
printf ('дБ'#$a,[])
else
printf ('оЕФ'#$a,[]);
end.
Соседние файлы в папке 11