Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка.doc
Скачиваний:
2
Добавлен:
15.12.2018
Размер:
160.26 Кб
Скачать

2.Описание программы

2.1. Описание данных

В программе используются указатели ptr_games, ptr_temp и ptr_sort типа struct Games_Data для доступа к полям структуры.

struct Game_Date

{

char name_game[80];

int publication_date;

double rating;

char developer[80];

char genre[80];

char resemblance[80];

};

static struct Game_Date *ptr_game;

static struct Game_Date *ptr_temp;

static struct Game_Date *ptr_sort;

Данная структура состоит из следующих элементов:

  • name_game[80] типа char (массив символов, содержащий название игры);

  • developer[80] типа char (массив символов, содержащий название издателя игры);

  • resemblance[80] типа char (массив символов, содержащий название похожей игры);

  • genre[80] типа char (массив символов, содержащий название жанра игры);

  • publication_date типа int (переменная, содержащая дату издания игры);

  • rating типа int (переменная, содержащая рейтинг игры).

Исходные три базы данных хранятся в файлах под именами:

  • GamesData.dat

  • NewGamesData.dat

  • RusGamesData.dat

В программе используются следующие функции:

  • char *rus(const char *text) (функция перевода русских символов);

  • char *sur(const char *text) (функция обратная функции перевода русских символов);

  • int input_find() и int input(int col_punkt) (функции проверки выбора действия);

  • void listing(Game_Date *ptr) (функция вывода записей);

  • void save_data(Game_Date *ptr_save) (функция сохранения базы данных);

  • void add_to_data(Game_Date *ptr_add_to_data) (функция добавление записи в каталог);

  • void delete_record(Game_Date *ptr_delete) (функция удаления записи из базы);

  • void change_record(Game_Date *ptr_dinamik_massiv) (функция изменения записей каталога);

  • void function_data_new() (функция создания файла базы данных);

  • void function_data_load() (функция загрузки файла базы);

  • void save_temp_massiv(Game_Date *ptr_temp_find,int j) (функция сохранения результатов поиска в файл типа .txt);

  • void sort_games_data(Game_Date *ptr_dinamik_massiv) (функция выбора критериев сортировки);

  • void find_to_games_data(Game_Date *ptr_dinamik_massiv) (функция выбора критериев поиска);

  • void main_data_all(Game_Date *ptr) (функция выбора действий (главное меню программы));

  • void sort_bubbling_games_data(Game_Date *ptr_dinamik_massiv) (функция сортировки каталога по названию игр (сортировка пузарьковая));

  • void sort_quick_gamesdata(Game_Date *ptr_dinamik_massiv, Game_Date *ptr_temp,int count) (функция сортировки по году издания (сортировка быстрая));

  • void sort_vstavki (Game_Date *ptr_dinamik_massiv,Game_Date *ptr_temp_vstavki) (функция сортировки по рейтингу игр (сортировка вставки));

  • void find_i(Game_Date *ptr_dinamik_massiv,char *str_name_find_i_1,char *str_name_find_i_2,int metka_find_type_2) (функция поиска с использованием связки ‘и’);

  • void find_ili(Game_Date *ptr_dinamik_massiv,char *str_name_find_ili_1,char *str_name_find_ili_2,int metka_find_type_3) (функция поиска с использованием связки ‘или’);

  • void find_ne(Game_Date *ptr_dinamik_massiv,char *str_name_find_ne,int metka_find_type_4) (функция поиска с использование связки ‘не’);