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

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

Форум «Всё о Паскале» _ Задачи _ Задачка на записи!

Автор: Костян 14.02.2006 19:43

Народ нужна ваша помощь. Нужна написать такую прогу в которую бы паользователь вводил свое имя прога сравнивала бы его с имеющимися именами в текстовом файле и выводила ответ в зависимости от имени(ответ тоже должен быть в текстовом файле напротив каждого имени (разный)). Шапочку я уже написал:

Код
program name;
type
    nama=record
      name: string;
      otvet: string;
    end;
var ai: array[1..6] of nama;
    found:boolean;
    f:text;
begin
    assign(f,'name.txt'); reset(f);
end.

А вот что делать дальше пока не знаю. Подкиньте идейку если не сложно.

Автор: volvo 14.02.2006 19:59

А дальше - переделываешь "шапочку" (у тебя не типизированный, а текстовый файл должен быть, так что Record-ы не нужны):

assing(f, '...'); reset(f);
while not eof(f) do begin
readln(f, s);
if copy( s, 1, pred(pos(s, ':')) ) = name then begin
writeln( copy(s, succ(pos(s, ':')), 255) ); { <--- Это и есть ответ... }
break; { <--- Все сделано, выходим из цикла }
end;
end;

Строки в текстовом файле должны быль записаны в виде:
"Имя: ответ для пользователя"
Все, что ДО двоеточия будет рассматриваться программой как имя, и с ним будет сравниваться то, что ввел пользователь... Все, что ПОСЛЕ двоеточия и до конца строки - ответ, который будет выведен...

Автор: Костян 14.02.2006 20:02

Это все конечно хорошо, но во что переделывать шапку, хотелось бы полную версию...

Автор: volvo 14.02.2006 20:11

Что, уже и переменные описывать лень самому? mad.gif
Компилируй, чего не хватит компилеру, он тебе скажет!