Top.Mail.Ru
Ответы

Ошибка с поиском телефона в справочнике код написан на паскаль авс

program FindPhoneNumber;

uses
SysUtils, Classes, Generics.Collections;

var
f: TextFile;
name, phoneNumber: string;
searchName: string;
phoneBook: TDictionary<string, string>;
found: Boolean;
phoneNumberValue: string;

begin
AssignFile(f, 'Text.txt');
Reset(f); // Открываем файл для чтения

Write('Введите ФИО для поиска: ');
ReadLn(searchName);

searchName := Trim(searchName); // Удаляем пробелы в начале и конце строки

phoneBook := TDictionary<string, string>.Create(AnsiLowerCaseComparer); // Используем нерегистрозависимое сравнение

// Читаем данные ФИО и номеров телефонов из файла и добавляем их в словарь
while not Eof(f) do
begin
ReadLn(f, name);
ReadLn(f, phoneNumber);
phoneBook.Add(AnsiLowerCase(name), phoneNumber); // Преобразуем ФИО к нижнему регистру
end;

CloseFile(f);

// Ищем введенное ФИО в словаре (с преобразованием к нижнему регистру)
found := phoneBook.TryGetValue(AnsiLowerCase(searchName), phoneNumberValue);
if found then
WriteLn('Найден номер телефона: ', phoneNumberValue)
else
WriteLn('Номер телефона не найден.');

phoneBook.Free ;
ReadLn;
end.
Пишет телефонный номер не найден что не так в программе? Написано на Паскаль авс

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок

Есть несколько причин, по которым программа не может найти номер телефона. Вот некоторые возможные проблемы, которые нужно проверить:
- Убедитесь, что файл Text.txt существует в той же директории, что и программа, и содержит данные в правильном формате (то есть чередующиеся строки имен и номеров телефонов).
- Проверьте, правильно ли написано имя, которое вы ищете, и соответствует ли оно имени в файле Text.txt.
- Убедитесь, что перед именем или после него в файле Text.txt или в имени, которое вы ищете, нет лишних пробелов.

Аватар пользователя
Просветленный

в абце совсем не шарю, но при обращении к матчасти нашлось ToDictionary. источник
Впечатление, что словарь как тип данных не создан