Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 21.02.2018
Сообщений: 5

Текстовые файлы и записи

21.02.2018, 08:56. Показов 988. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В текстовый файл записывается список адресов и фамилий. Обеспечить поиск в текстовом файле как по фамилии, так и по адресу. Результат поиска сохранить в другом текстовом файле.

Организовал это через массив но дальше заступорился, как прочитать файл введя каждую строку в массив обратно?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Const
  Num = 3;
 
Var
  Adress : Array[1..Num] Of String;
  Surname : Array[1..Num] Of String;
  Search : String;
  f : Text;
  i : Integer;
  
Begin
  // Ввод данных в массив
  For i := 1 To Num Do
    Begin
      Write('Введите ', i, '-й адрес: ');
      ReadLn(Adress[i]);
      
      Write('Введите фамилию: ');
      ReadLn(Surname[i]);
      
      WriteLn;
    End;
    
  Assign(f, 'Data.txt');
  Append(f);
  
  For i := 1 To Num Do Begin
    WriteLn(f, Adress[i]);
    WriteLn(f, Surname[i]);
  End;
  
  Close(f);
  
  WriteLn('Поиск по фамилии.');
  Write('Введите фамилию: ');
  ReadLn(Search);
  
  
End.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.02.2018, 08:56
Ответы с готовыми решениями:

Текстовые файлы, Паскаль
Есть один текстовый файл, и он должен выводить на экран данные объектов (каждый объект в отдельной строке) Фам,им,шк,зп. В общем, как...

Обработка файлов. Текстовые файлы
Создайте текстовый файл р, разбитый на непустые строки. Составьте программу, удаляющую строку под известным номером из текста.

Возможно ли создавать текстовые файлы непосредственно из программы?
Возможно ли создавать текстовые файлы непосредственно из программы? К примеру ввожу строку S, и на компьютере создается файл S.txt!

1
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
21.02.2018, 09:36
Темы: файлы и записи.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
const fName = 'text.txt';
 
type
  tSubject = record
    Name, Addr : String;
    
    constructor;
    begin
      Name := ReadLnString('Введите фамилию:');
      Addr := ReadLnString('  Введите адрес:');
    end;
    
    constructor (s : String);
    begin
      var t := s.Replace('{','').ToWords('}');
      if t.Count > 0 then Name := t[0];
      if t.Count > 1 then Addr := t[1];
    end;
    
    function toString := '{' + Name + '}{' + Addr + '}';
    
    procedure Print;
    begin
      WriteLnFormat('{0,-20} | {1}', Name, Addr);
    end;
  end;
  
procedure Input;
begin
  var NewText := True;
  if System.IO.File.Exists(fName) then
    begin
      WriteLn('Файл ' + fName + ' уже существует.');
      WriteLn('Варианты действия: 1 - чтобы дополнить, 9 - чтобы создать заново, иначе - не изменять.');
      var Res := ReadLnString('Введите вариант:').Trim;
      if Res.Length = 0 then Exit;
      case Res[1] of
        '1' : NewText := False;
        '9' : begin end;
      else
        Exit;
      end;
    end;
  var theEnd := False; var txt : Text;
  repeat
    var Subject := New tSubject;
    if NewText then Rewrite(txt,fName) else Append(txt,fName);
    WriteLn(txt, Subject.ToString);
    Close(txt);
    NewText := False;
    WriteLn('Варианты действия: 1 - чтобы дополнить, иначе - прекратить.');
    var Res := ReadLnString('Введите вариант:').Trim;
    if Res.Length = 0 then theEnd := True else theEnd := Res[1] <> '1';
  until theEnd;
end;  
 
procedure Find;
begin
  WriteLn('Варианты действия: 1 - искать по фамилии, 2 - чтобы искать по адресу.');
  var Res := ReadLnString('Введите вариант:').Trim;
  if Res.Length = 0 then Exit;
  case Res[1] of
    '1' : begin
            var Name := ReadLnString('Введите фамилию для поиска:').ToUpper;
            foreach var s in ReadLines(fName) do
              begin
                var Subject := New tSubject(s);
                if Subject.Name.ToUpper = Name then Subject.Print;
              end;
          end;
    '2' : begin
            var Addr := ReadLnString('Введите адрес для поиска:').ToUpper;
            foreach var s in ReadLines(fName) do
              begin
                var Subject := New tSubject(s);
                if Subject.Addr.ToUpper = Addr then Subject.Print;
              end;
          end;
  else
    Exit;
  end;
  
end;
 
begin
  Input;
  Find;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.02.2018, 09:36
Помогаю со студенческими работами здесь

Программа по теме символы,строки,текстовые файлы
Файл http://tvd-home.ru/docs/eeg.txt содержит запись ЭЭГ (электроэнцефалограммы) человека, включающую сигналы с 16 электродов (отведений)....

Текстовые файлы. Вывести все строчки, которые начинаются с vb
короче говоря в файле in.text записоноvb 1 1esf sf 3 ds vb 5 vb 3 vb12 wrw vb100

Текстовые файлы. Напечатать все слова, содержащие числа от 10 до 99
задание: напечатать все слова содержащие числа от 10 до 99 как реализовать? типа такого: for var k := 1 to length(copy2) do ...

Текстовые файлы: напечатать предложение, в котором число слов наибольшее
Решаю, решаю, не выходит, помогите пожалуйста

Текстовые файлы: записать в перевернутом виде строки файла p в файл g
Помогите пожалуйста. Создайте текстовый файл р. Составьте программу, записывающую в перевернутом виде строки файла p в файл g.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru