Первичный индекс реализации записи переменной длиныC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Первичный индекс реализации записи переменной длины

Сообщение Anonymous »

Я пытался реализовать первичный индекс для файла данных, который имеет запись переменной длины, указанную индикатором длины и разделителем полей, например. lengthindicatorid|name|gpa 14001|raghad|3.5 ..и так далее
Основной индекс принимает идентификатор и смещение в байтах записи, поэтому, когда я ищу определенную запись, используя идентификатор, первичный индекс возьмет смещение в байтах рядом с идентификатором и попытается получить его с помощью файла данных. Как я могу сделать это с помощью C++?
Я реализовал код, который добавляет доктора и рассчитывает его позицию записывать так что я беру его с идентификатором в индексном файле (смещение), чтобы помочь мне получить запись, когда я хочу ее найти, логика правильна, и операция аналогична функции поиска, ну, она извлекает целевую запись, но смещение рассчитывается неправильно для каждой записи, хотя она рассчитана неправильно, эта запись извлекается правильно!
Мы не смогли справиться с этой проблемой, мы пытаемся решить ее третий день, надеемся на вашу помощь.
Это код addDoctor с позиционной логикой
void HealthcareManagementSystem::addDoctor(const string& DoctorID, const string& name, const string& Address) {
// Проверяем, существует ли врач, используя бинарный поиск по первичному индексу
if (binarySearch( DoctorPrimaryIndex, DoctorID) != -1) {
cout

Подробнее здесь: https://stackoverflow.com/questions/792 ... ementation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»