Работа с текстовыми документами - Pascal

Узнай цену своей работы

Формулировка задачи:

Необходимо занести в файл фамилии, имени студентов вашей группы. вывести на экран фамилии и имена всех студентов, стоящих по списку после вас. Помогите пожалуйста.

Решение задачи: «Работа с текстовыми документами»

textual
Листинг программы
var
  f: text;
  s, im, fam: string;
  sim, sfam: string;
  i, n: integer;
 
begin
  n := 10;
  Assign(f, 'in.txt');
  rewrite(f);
  writeln('Введите ', n, ' фамилий и имен: ');
  for i := 1 to n do
  begin
    readln(s);
    writeln(f, s);
  end;
  close(f);
  writeln('Введите вашу фамилию: ');
  readln(sfam);
  writeln('Введите ваше имя: ');
  readln(sim);
  Reset(f);
  i := 0;
  while not Eof(f) do
  begin
    readln(f, s);
    Fam := Copy(s, 1, Pos(' ', s) - 1); 
    Delete(s, 1, Pos(' ', s));          
    im := s;  
    if (fam = sfam) and (im = sim) then
      inc(i);
    if i <> 0 then  
      writeln(Fam, ' ', im);
  end;
  Close(f);
end.

Объяснение кода листинга программы

  1. Объявлены переменные:
    • f: text;
    • s, im, fam: string;
    • sim, sfam: string;
    • i, n: integer;
  2. Переменной n присваивается значение 10;
  3. Файл с именем in.txt открывается на запись в переменную f;
  4. В цикле от 1 до n происходит считывание фамилии и имени из ввода пользователя и запись их в файл;
  5. Закрытие файла f;
  6. Ввод фамилии и имени пользователя;
  7. Файл с именем in.txt открывается на чтение в переменную f;
  8. Переменная i инициализируется нулем;
  9. В цикле до тех пор, пока не достигнут конец файла, происходит считывание строки из файла и разделение её на фамилию и имя;
  10. Проверка совпадения фамилии и имени пользователя с фамилией и именем в текущей строке;
  11. Если совпадение найдено, увеличивается значение переменной i;
  12. Если значение переменной i не равно нулю, выводится фамилия и имя;
  13. Закрытие файла f;

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы