Программа на СИ++

Иван17 років у сервісі
Дані замовника будуть вам доступні після подання заявки
15.12.2008

Задача

Таблица, состоящая из структурных элементов “Паспорт”, поля

• фамилия (строка);

• имя (строка);

• отчество (строка);

• номер паспорта (строка);

• пол (число – 1 или 0);

• дата рождения (структура).

• семейное положение (фиксированная строка, не более 20 символов).

Поле Дата рождения создать на основе структуры “Дата”, которая включает:

• год (целое число);

• месяц (целое число);

• день (целое число);

Создать функцию, которая удаляет из таблицы все записи с заданной фамилией. Для хранения данных использовать структуру данных хеш-таблица, ключевые поля – фамилия, номер паспорта. Способ разрешения коллизий – цепочный.

Требования к выполнению и оформлению:

Во всех задачах необходимо реализовать полную функциональность для заданной структуры данных (поиск, добавление, удаление, редактирование любого поля, очистка таблицы). Если в качестве типа данных указана строка, то это означает, что строка динамическая (в таблице описана как char*). Для удобства тестирования необходимо реализовать меню со всеми функциями работы со структурой данных и дополнительными функциями. Для удобства, в меню должна быть функция “прочитать из файла”, в файл необходимо записать тестовый набор не менее чем из 10 структур.

сделать нужно на Dev-C++ 4.9.9.2 (Вот отсюда можно скачать http://www.bloodshed.net/)

+ есть исходник почтитакой же программы только без коллизии slil.ru/26440001

метод цепочек - метод в котором для разрешения коллизии во все записи вводится указатель, используемый для организации списков цепочек управления

в случае возникновения коллизии при заполнении таблицы, в список для требуемого адреса хэш таблицы добавляеться еще один элемент

вот тут немного написано про метод цепочек http://www.rsdn.ru/article/alg/bintree/hash.xml

добавление элемента:

1) вычилсяем хэш ключ-х полей записи

2) если соответсвующее поле пусто, то записываем туда новую запись, next устанавливаем на NULL. Если по этому адресу есть записи то добавляем следующую запись по правилу выбранного списка.

*****************************************************************************

ICQ: 380945346

срок 2-3 дня

Заявки фрілансерів