Реферат: База данных пилотов Формулы 1
<span Times New Roman CYR",«serif»">РоссийскийНовый Университет
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">Пояснительнаязаписка
<span Times New Roman CYR",«serif»">к курсовой работе
<span Times New Roman CYR",«serif»">по предмету «Программирование»
<span Times New Roman CYR",«serif»">на тему:
<span Times New Roman CYR",«serif»">«База данных пилотов Формулы 1».
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">Выполнилстудент гр. 424
<span Times New Roman CYR",«serif»"> ФакультетаИС и КТ
<span Times New Roman CYR",«serif»"> Шнайдер Юрий Юрьевич
<span Times New Roman CYR",«serif»"><span Times New Roman CYR",«serif»">Руководитель:Маслянкин В.И.
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">Курсоваяработа допущена к защите:
<span Times New Roman CYR",«serif»">______________________
<span Times New Roman CYR",«serif»"><span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">Москва
<span Times New Roman CYR",«serif»">2006 г.
<span Times New Roman CYR",«serif»;mso-ansi-language: EN-US"><span Times New Roman CYR",«serif»">Содержание:
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»;mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">1. Введение. Цели и задачи курсовой работы.
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">2. Описание предметной области.
<span Times New Roman CYR",«serif»">2.1. Постановка задачи
<span Times New Roman CYR",«serif»">2.2. Объекты предметной области.
<span Times New Roman CYR",«serif»">2.3. Необходимые ресурсы.
<span Times New Roman CYR",«serif»;mso-ansi-language: EN-US"><span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">3. Разработка проекта.
<span Times New Roman CYR",«serif»">3.1. Классы: свойства и методы.
<span Times New Roman CYR",«serif»">3.2. Организация классов.
<span Times New Roman CYR",«serif»">3.3. Интерфейс пользователя.
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">4. Реализация проекта.
<span Times New Roman CYR",«serif»;mso-ansi-language: EN-US"><span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">5. Перспективы доработки программы.
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">1.Введение.Цели и задачи курсовой работы.
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">Эта программа написана длялюбителей гонок
"<span Times New Roman CYR",«serif»">формула 1"<span Times New Roman CYR",«serif»">. Используя её, пользователи могут найтиразличную информацию о пилоте, такую как количество титулов, побед, и т.п. Базаданных позволяет удалять пилотов и добавлять новых, а также найти пилота поопределённому параметру.<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">2.Описаниепредметной области.
<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»;mso-ansi-language: EN-US">
<span Times New Roman CYR",«serif»; mso-fareast-font-family:«Times New Roman CYR»;mso-ansi-language:EN-US">2.1.<span Times New Roman"">
<span Times New Roman CYR",«serif»">Постановка задачи.<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»;mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">Основныефункции программы:
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»"> 1. запоминать вводимые значения,показывать базу данных;
<span Times New Roman CYR",«serif»"> 2. добавлять, редактировать данные;
<span Times New Roman CYR",«serif»"> 3. осуществлять поиск в базе;
<span Times New Roman CYR",«serif»"> 4. сортировать данные базы позапрашиваемому параметру;
<span Times New Roman CYR",«serif»"> 5. удалятьи сохранять изменения в базе;
<span Times New Roman CYR",«serif»"> 6. сохранятьвсю информацию, а также иметь доступ к открытию информации.
<span Times New Roman CYR",«serif»; mso-fareast-font-family:«Times New Roman CYR»;mso-ansi-language:EN-US">2.2.<span Times New Roman"">
<span Times New Roman CYR",«serif»">Объекты предметной области.<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">Объектыпринадлежащие, хранению и обработке:
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">struct
Racer<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New";mso-ansi-language: EN-US"> <span Courier New CYR";mso-ansi-language:EN-US">stringfamely;<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New";mso-ansi-language: EN-US"> <span Courier New CYR";mso-ansi-language:EN-US">stringname;<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New";mso-ansi-language: EN-US"> <span Courier New CYR";mso-ansi-language:EN-US">stringfrace;<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New";mso-ansi-language: EN-US"> <span Courier New CYR";mso-ansi-language:EN-US">intraces;<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New";mso-ansi-language: EN-US"> <span Courier New CYR";mso-ansi-language:EN-US">intwons;<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New";mso-ansi-language: EN-US"> <span Courier New CYR";mso-ansi-language:EN-US">intpouls;<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New";mso-ansi-language: EN-US"> <span Courier New CYR";mso-ansi-language:EN-US">inttituls;<span Courier New CYR";mso-ansi-language:EN-US">int blaps;
<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»">};
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">«
famely<span Times New Roman CYR",«serif»">»: фамилия гонщика. Текстовоезначение.<span Times New Roman CYR",«serif»">«
name<span Times New Roman CYR",«serif»">»: Имя гонщика. Текстовоезначение.<span Times New Roman CYR",«serif»">«
frace<span Times New Roman CYR",«serif»">»: Дебютная гонка в формуле1. Текстовое значение.<span Times New Roman CYR",«serif»">«
races<span Times New Roman CYR",«serif»">»: Количество проведённыхгонок. Цифровое значение.<span Times New Roman CYR",«serif»">«
wons<span Times New Roman CYR",«serif»">»: <span Times New Roman CYR",«serif»">Количество побед. Цифровоезначение.<span Times New Roman CYR",«serif»">«
pouls<span Times New Roman CYR",«serif»">»: Количество поул-позиций(первое место на старте). Цифровое значение.<span Times New Roman CYR",«serif»">«
tituls<span Times New Roman CYR",«serif»">»: Количество титуловчемпиона мира. Цифровое значение.<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»">«
blaps<span Times New Roman CYR",«serif»">»: Количество Лучших кругов вгонке. Цифровое значение.<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»; mso-fareast-font-family:«Times New Roman CYR»;mso-ansi-language:EN-US">2.3.<span Times New Roman"">
<span Times New Roman CYR",«serif»">Необходимые ресурсы.<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»;mso-ansi-language: EN-US">
<span Times New Roman CYR",«serif»">Дляреализации проекта необходимо подключение следующих заголовочных файлов:
<span Courier New CYR"; mso-ansi-language:EN-US"><stdlib.h>
<span Courier New";mso-ansi-language:EN-US">, <span Courier New CYR";mso-ansi-language: EN-US"><span Courier New";mso-ansi-language:EN-US">, <span Courier New CYR";mso-ansi-language:EN-US"><span Courier New";mso-ansi-language: EN-US">, <span Courier New CYR"; mso-ansi-language:EN-US"><span Courier New";mso-ansi-language:EN-US">, <span Courier New CYR";mso-ansi-language: EN-US"><span Courier New";mso-ansi-language:EN-US">, <span Courier New CYR";mso-ansi-language:EN-US"><span Courier New";mso-ansi-language: EN-US">, <span Courier New CYR"; mso-ansi-language:EN-US"><commctrl.h><span Courier New";mso-ansi-language:EN-US"> ,<span Courier New CYR";mso-ansi-language: EN-US"> <commdlg.h>.<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»">Так-же,необходимы следующие
windows — <span Times New Roman CYR",«serif»">библиотеки: “<span Courier New CYR"">comctl32<span Courier New"">.<span Courier New";mso-ansi-language:EN-US">lib<span Courier New"">” <span Courier New CYR"">и “<span Courier New";mso-ansi-language: EN-US">comdlg<span Courier New"">.<span Courier New";mso-ansi-language: EN-US">lib<span Courier New"">”<span Times New Roman CYR",«serif»"><span Times New Roman CYR",«serif»">3. Разработкапроекта.
<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»;mso-ansi-language: EN-US">
<span Times New Roman CYR",«serif»; mso-fareast-font-family:«Times New Roman CYR»;mso-ansi-language:EN-US">3.1.<span Times New Roman"">
<span Times New Roman CYR",«serif»">Классы: поля и методы.<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»">Классявляется абстрактным типом данных, определяемым пользователем, и представляетсобой модель реального объекта в виде данных и функций для работы с ними.
<span Times New Roman CYR",«serif»">Программаразбита на
2<span Times New Roman CYR",«serif»">-акласса. 1-ый отвечает за базу данных, 2-ой за взаимодействия с ним.<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">Рассмотрим1-ый класс:
<span Times New Roman CYR",«serif»">
<span Courier New CYR"">classReader
<span Courier New CYR"">{
<span Courier New CYR"">public:
<span Courier New CYR""> Reader(); // Конструктор / деструкотор
<span Courier New CYR""> ~Reader();
<span Courier New CYR"">
<span Courier New CYR"">
<span Courier New CYR";mso-ansi-language:EN-US">boolopen_db(const char * file); // <span Courier New CYR"">Открыть<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> boolsave_db(const char * file,vectorracer); // <span Courier New CYR"">Сохранить
<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> voidclose_db(); //
<span Courier New CYR"">Закрыть<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> boolread(); //
<span Courier New CYR"">Читать<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">БД<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> voidnew_paragraph(); //
<span Courier New CYR"">Новый<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">параграф<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> stringparagraph; //
<span Courier New CYR"">Имя<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">параграфа<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> intloadAsInt(string name); //
<span Courier New CYR"">Загружаем<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">параметр<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">как<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">целое<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">число<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> stringloadAsString(string name);
<span Courier New";mso-ansi-language:EN-US">// <span Courier New CYR"">Загружаем<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">параметр<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">как<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">строку<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">private:
<span Courier New CYR"; mso-ansi-language:EN-US"> fstream db;//
<span Courier New CYR"">Фаил<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">};
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">Рассмотрим<span Times New Roman CYR",«serif»;mso-ansi-language: EN-US"> 2-<span Times New Roman CYR",«serif»">ой<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US"> <span Times New Roman CYR",«serif»">класс<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US">:<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Courier New";mso-ansi-language:EN-US">class Application
<span Courier New";mso-ansi-language:EN-US">{
<span Courier New";mso-ansi-language:EN-US">public:
<span Courier New";mso-ansi-language:EN-US">Application();
<span Courier New";mso-ansi-language:EN-US">~Application();
<span Courier New";mso-ansi-language:EN-US">
<span Courier New";mso-ansi-language:EN-US"> bool db_load(const char *file); //
<span Courier New"">Загружаем<span Courier New";mso-ansi-language:EN-US"> <span Courier New"">базу<span Courier New";mso-ansi-language:EN-US"> <span Courier New"">данных<span Courier New";mso-ansi-language: EN-US"><span Courier New";mso-ansi-language:EN-US"> void
<span Courier New""> <span Courier New";mso-ansi-language: EN-US">db<span Courier New"">_<span Courier New";mso-ansi-language: EN-US">close<span Courier New"">();// Закрываем базу данных<span Courier New"">
<span Courier New";mso-ansi-language: EN-US">bool db_save(const char *file); // <span Courier New"">Сохраняем<span Courier New";mso-ansi-language:EN-US"> <span Courier New"">базу<span Courier New";mso-ansi-language:EN-US"> <span Courier New"">данных<span Courier New";mso-ansi-language: EN-US"><span Courier New";mso-ansi-language:EN-US">
<span Courier New";mso-ansi-language:EN-US"> void
<span Courier New""> <span Courier New";mso-ansi-language: EN-US">db<span Courier New"">_<span Courier New";mso-ansi-language: EN-US">add<span Courier New"">_<span Courier New";mso-ansi-language: EN-US">item<span Courier New"">();// Добавляем новый элемент<span Courier New"">
<span Courier New";mso-ansi-language: EN-US">void db_delete_item(int number); // <span Courier New"">Удаляем<span Courier New";mso-ansi-language:EN-US"> <span Courier New"">определённый<span Courier New";mso-ansi-language:EN-US"> <span Courier New"">элемент<span Courier New";mso-ansi-language: EN-US"><span Courier New";mso-ansi-language:EN-US">
<span Courier New";mso-ansi-language:EN-US"> void bd_sortby(int value); //
<span Courier New"">Сортировка<span Courier New";mso-ansi-language: EN-US"><span Courier New";mso-ansi-language:EN-US">
<span Courier New";mso-ansi-language:EN-US"> vector
<span Courier New""><<span Courier New";mso-ansi-language: EN-US">Racer<span Courier New"">><span Courier New"; mso-ansi-language:EN-US">racers<span Courier New"">; // База данныых на основе вектора<span Courier New";mso-ansi-language:EN-US">private:
<span Courier New";mso-ansi-language: EN-US"> Reader reader; //
<span Courier New"">Файловый<span Courier New";mso-ansi-language:EN-US"> <span Courier New"">менеджер<span Courier New";mso-ansi-language: EN-US"><span Courier New";mso-ansi-language:EN-US">};
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-fareast-font-family:«Times New Roman CYR»;mso-ansi-language:EN-US">3.2.<span Times New Roman"">
<span Times New Roman CYR",«serif»">Организация классов<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">Выбранный контейнер для хранения объектовстандартный “vector” из “vector.h”.
<span Times New Roman CYR",«serif»;mso-ansi-language: EN-US"><span Times New Roman CYR",«serif»;mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»; mso-fareast-font-family:«Times New Roman CYR»;mso-ansi-language:EN-US">3.3.<span Times New Roman"">
<span Times New Roman CYR",«serif»">Интерфейс пользователя.<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US"><span Times New Roman CYR",«serif»;mso-ansi-language: EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US"><img src="/cache/referats/24072/image001.jpg" v:shapes="_x0000_i1025">
<span Times New Roman CYR",«serif»">Интерфейспользователя состоит из 2 основных элементов
:<span Times New Roman CYR",«serif»">·<span Times New Roman"">
<span Times New Roman CYR",«serif»">-контекстного меню, посредством которого пользователь может открывать,закрывать, создавать новые базы данных, добавлять и удалять элементы БД,сортировать по всем параметрам записи и производить поиск записей поопределённым параметрам.·<span Times New Roman"">
<span Times New Roman CYR",«serif»">-основное окно, содержащее инструменты для редактирования элементов базы данных,просмотра элементов, просмотра результатов поиска и сортировки БД, а такжезадавать параметры поиска.<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-fareast-font-family:«Times New Roman CYR»;mso-ansi-language:EN-US">3.4.<span Times New Roman"">
<span Times New Roman CYR",«serif»">Хранение данных.<span Times New Roman CYR",«serif»;mso-ansi-language: EN-US"><span Times New Roman CYR",«serif»;mso-ansi-language: EN-US">
<span Times New Roman CYR",«serif»">Базаданных содержит в начале каждой записи заголовок (параграф)
"racer". <span Times New Roman CYR",«serif»">После негочерез пробел содержатся элементы записи. Каждая запись начинается с новойстроки.<span Times New Roman CYR",«serif»;mso-ansi-language:EN-US"><img src="/cache/referats/24072/image003.jpg" v:shapes="_x0000_i1026">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»; mso-ansi-language:EN-US">
<span Times New Roman CYR",«serif»">4.Реализация проекта.
<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">Вкачестве языка программирования используем С++. Компилятор
Visual<span Times New Roman CYR",«serif»">C++ версии 6.<span Times New Roman CYR",«serif»">Программаразбита на несколько файлов
:·<span Times New Roman"">
main.cpp — <span Times New Roman CYR",«serif»">реализация основных методов и классовприложения.·<span Times New Roman"">
main.h — <span Times New Roman CYR",«serif»">описание идентификаторов меню.·<span Times New Roman"">
Rsrc.rc — <span Times New Roman CYR",«serif»">фаил ресурсов.<span Times New Roman CYR",«serif»">
<span Times New Roman CYR",«serif»">
"main.cpp"
<span Courier New CYR"; mso-ansi-language:EN-US">#include «main.h»
<span Courier New CYR"; mso-ansi-language:EN-US">#include <windows.h>
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">#include <stdlib.h>
<span Courier New CYR"; mso-ansi-language:EN-US">#include
<span Courier New CYR"; mso-ansi-language:EN-US">#include
<span Courier New CYR"; mso-ansi-language:EN-US">#include
<span Courier New CYR"; mso-ansi-language:EN-US">#include
<span Courier New CYR"; mso-ansi-language:EN-US">#include
<span Courier New CYR"; mso-ansi-language:EN-US">#include <commctrl.h>
<span Courier New CYR"; mso-ansi-language:EN-US">#include <commdlg.h>
<span Courier New CYR"; mso-ansi-language:EN-US">#pragma comment(lib,«comctl32.lib»)
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">using namespace std;
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">/*
<span Courier New CYR"">Описание<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">гонщика<span Courier New CYR";mso-ansi-language:EN-US"> */<span Courier New CYR"; mso-ansi-language:EN-US">struct Racer
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US"> stringfamely;
<span Courier New CYR"; mso-ansi-language:EN-US"> string name;
<span Courier New CYR"; mso-ansi-language:EN-US"> string frace;
<span Courier New CYR"; mso-ansi-language:EN-US"> int races;
<span Courier New CYR"; mso-ansi-language:EN-US"> int wons;
<span Courier New CYR"; mso-ansi-language:EN-US"> int pouls;
<span Courier New CYR"; mso-ansi-language:EN-US"> int tituls;
<span Courier New CYR"; mso-ansi-language:EN-US"> int blaps;
<span Courier New CYR"; mso-ansi-language:EN-US">};
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">//------------------------------------
<span Courier New CYR"; mso-ansi-language:EN-US">//
<span Courier New CYR"">Файловая<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">система<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">class Reader
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US">public:
<span Courier New CYR"; mso-ansi-language:EN-US"> Reader();//
<span Courier New CYR"">Конструктор<span Courier New CYR";mso-ansi-language: EN-US"> / <span Courier New CYR"">деструкотор<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> ~Reader();
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> boolopen_db(const char * file); //
<span Courier New CYR"">Открыть<span Courier New CYR"; mso-ansi-language:EN-US"> <span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> boolsave_db(const char * file,vectorracer); // <span Courier New CYR"">Сохранить
<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> voidclose_db(); //
<span Courier New CYR"">Закрыть<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> boolread(); //
<span Courier New CYR"">Читать<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">БД<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> voidnew_paragraph(); //
<span Courier New CYR"">Новый<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">параграф<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> stringparagraph; //
<span Courier New CYR"">Имя<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">параграфа<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> intloadAsInt(string name); //
<span Courier New CYR"">Загружаем<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">параметры<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> stringloadAsString(string name);
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">private:
<span Courier New CYR"; mso-ansi-language:EN-US"> fstreamdb; //
<span Courier New CYR"">Фаил<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">};
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR";mso-ansi-language:EN-US">Reader::Reader() {}; //
<span Courier New CYR"">Конструктор<span Courier New CYR";mso-ansi-language: EN-US"> / <span Courier New CYR"">деструктор<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">Reader::~Reader() { db.close(); };
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">/*
<span Courier New CYR"">Открываем<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language:EN-US"> */<span Courier New CYR"; mso-ansi-language:EN-US">bool Reader::open_db(const char *file)
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US"> db.open(file);
<span Courier New CYR"; mso-ansi-language:EN-US"> if(!db)return false;
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"">return true;<span Courier New CYR"">};
<span Courier New CYR"">
<span Courier New CYR"">/*Сохраняем базу данных */
<span Courier New CYR"; mso-ansi-language:EN-US">bool Reader::save_db(const char *file,vectorracer)
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US"> ofstreamsave;
<span Courier New CYR"; mso-ansi-language:EN-US"> save.open(file,ios::trunc);//
<span Courier New CYR"">Открываем<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">фаил<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> if(!save)return false;
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> for(inti=0;i<racer.size();i++) //
<span Courier New CYR"">Записываем<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">данные<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> {
<span Courier New CYR"; mso-ansi-language:EN-US"> save<< «racer »;
<span Courier New CYR"; mso-ansi-language:EN-US"> save<< «SurName=» << racer[i].famely;
<span Courier New CYR"; mso-ansi-language:EN-US"> save<< " Name=" << racer[i].name;
<span Courier New CYR"; mso-ansi-language:EN-US"> save<< " Races=" << racer[i].races;
<span Courier New CYR"; mso-ansi-language:EN-US"> save<< " Wons=" << racer[i].wons;
<span Courier New CYR"; mso-ansi-language:EN-US"> save<< " Pouls=" << racer[i].pouls;
<span Courier New CYR"; mso-ansi-language:EN-US"> save<< " FirstRace=" << racer[i].frace;
<span Courier New CYR"; mso-ansi-language:EN-US"> save<< " Tituls=" << racer[i].tituls;
<span Courier New CYR"; mso-ansi-language:EN-US"> save<< " BestLaps=" << racer[i].blaps;
<span Courier New CYR"; mso-ansi-language:EN-US"> if(i<racer.size()-1)save << endl;
<span Courier New CYR"; mso-ansi-language:EN-US"> };
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> save.close();//
<span Courier New CYR"">Закрываем<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">фаил<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> save.clear();
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> returntrue;
<span Courier New CYR"; mso-ansi-language:EN-US">};
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">/*
<span Courier New CYR"">Закрываем<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language:EN-US"> */<span Courier New CYR"; mso-ansi-language:EN-US">void Reader::close_db()
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US"> db.close();
<span Courier New CYR"; mso-ansi-language:EN-US"> db.clear();
<span Courier New CYR"; mso-ansi-language:EN-US">};
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">/*
<span Courier New CYR"">Читаем<span Courier New CYR"; mso-ansi-language:EN-US"> <span Courier New CYR"">параграф<span Courier New CYR";mso-ansi-language: EN-US"> */<span Courier New CYR"; mso-ansi-language:EN-US">bool Reader::read()
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US"> if(db.eof()|| !db) return false; //
<span Courier New CYR"">Конец<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">файла<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> else db>> paragraph;
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> returntrue;
<span Courier New CYR"; mso-ansi-language:EN-US">};
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">/*
<span Courier New CYR"">Читаем<span Courier New CYR"; mso-ansi-language:EN-US"> <span Courier New CYR"">число<span Courier New CYR";mso-ansi-language: EN-US"> */<span Courier New CYR"; mso-ansi-language:EN-US">int Reader::loadAsInt(string name) // Loading As Int
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US"> string s;
<span Courier New CYR"; mso-ansi-language:EN-US"> db>> s;
<span Courier New CYR"; mso-ansi-language:EN-US"> name+="=";
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> returnatoi(s.substr(name.size(),s.size()).c_str());
<span Courier New CYR"; mso-ansi-language:EN-US">};
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">/*
<span Courier New CYR"">Читаем<span Courier New CYR"; mso-ansi-language:EN-US"> <span Courier New CYR"">строку<span Courier New CYR";mso-ansi-language: EN-US"> */<span Courier New CYR"; mso-ansi-language:EN-US">string Reader::loadAsString(string name) // Loading AsString
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US"> string s;
<span Courier New CYR"; mso-ansi-language:EN-US"> db>> s;
<span Courier New CYR"; mso-ansi-language:EN-US"> name+="=";
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> returns.substr(name.size(),s.size());
<span Courier New CYR"">};
<span Courier New CYR"">
<span Courier New CYR"">
<span Courier New CYR"">/*Переход на новый параграф */
<span Courier New CYR"">voidReader::new_paragraph()
<span Courier New CYR"">{
<span Courier New CYR""> db.ignore(1,'n');
<span Courier New CYR"">};
<span Courier New CYR"">
<span Courier New CYR"">
<span Courier New CYR"">//----------------------------------------------------------------------------------------
<span Courier New CYR"">//Работа приложения
<span Courier New CYR"">
<span Courier New CYR"">
<span Courier New CYR"; mso-ansi-language:EN-US">class Application
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US">public:
<span Courier New CYR"; mso-ansi-language:EN-US"> Application();
<span Courier New CYR"; mso-ansi-language:EN-US"> ~Application();
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> booldb_load(const char *file); //
<span Courier New CYR"">Загрузка<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language:EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"">void db_close(); //Закрыть текущую бд<span Courier New CYR"">
<span Courier New CYR";mso-ansi-language:EN-US">bool db_save(constchar *file); // <span Courier New CYR"">Сохранить<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"">void db_add_item(); //Добавить элемент<span Courier New CYR"">
<span Courier New CYR";mso-ansi-language:EN-US">voiddb_delete_item(int number); // <span Courier New CYR"">Удалить<span Courier New CYR"; mso-ansi-language:EN-US"> <span Courier New CYR"">элемент<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"">void bd_sortby(intvalue); // Сортировать по элементу<span Courier New CYR"">
<span Courier New CYR";mso-ansi-language:EN-US">int bd_findby(intvalue,string look); // <span Courier New CYR"">Искать<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">в<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">элементе<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> vectorracers; // <span Courier New CYR"">Гонщики
<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">private:
<span Courier New CYR"; mso-ansi-language:EN-US"> inline intfind_name(string value);
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">// -----------------------------------------------
<span Courier New CYR";mso-ansi-language:EN-US"> Readerreader; //
<span Courier New CYR"">Файловая<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">система<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">};
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR";mso-ansi-language:EN-US">Application::Application() {}; //
<span Courier New CYR"">Конструктор<span Courier New CYR";mso-ansi-language: EN-US"> / <span Courier New CYR"">деструктор<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">Application::~Application() {};
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">bool Application::db_load(const char * file)
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US"> if(reader.open_db(file))
<span Courier New CYR"; mso-ansi-language:EN-US"> {
<span Courier New CYR"; mso-ansi-language:EN-US"> racers.clear();//
<span Courier New CYR"">Очищаем<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">вектор<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> while(reader.read())
<span Courier New CYR"; mso-ansi-language:EN-US"> {
<span Courier New CYR"; mso-ansi-language:EN-US"> Racerm_racer;
<span Courier New CYR"; mso-ansi-language:EN-US"> m_racer.famely= reader.loadAsString(«SurName»);
<span Courier New CYR"; mso-ansi-language:EN-US"> m_racer.name= reader.loadAsString(«Name»);
<span Courier New CYR"; mso-ansi-language:EN-US"> m_racer.races= reader.loadAsInt(«Races»);
<span Courier New CYR"; mso-ansi-language:EN-US"> m_racer.wons= reader.loadAsInt(«Wons»);
<span Courier New CYR"; mso-ansi-language:EN-US"> m_racer.pouls= reader.loadAsInt(«Pouls»);
<span Courier New CYR"; mso-ansi-language:EN-US"> m_racer.frace= reader.loadAsString(«FirstRace»);
<span Courier New CYR"; mso-ansi-language:EN-US"> m_racer.tituls= reader.loadAsInt(«Tituls»);
<span Courier New CYR"; mso-ansi-language:EN-US"> m_racer.blaps= reader.loadAsInt(«BestLaps»);
<span Courier New CYR"; mso-ansi-language:EN-US"> reader.paragraph;
<span Courier New CYR"; mso-ansi-language:EN-US"> racers.push_back(m_racer);//
<span Courier New CYR"">Добавляем<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">гонщика<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">в<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">аккумулятор<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US"> };
<span Courier New CYR"; mso-ansi-language:EN-US"> reader.close_db();//
<span Courier New CYR"">Закрываем<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">фаил<span Courier New CYR";mso-ansi-language: EN-US"><span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> returntrue;
<span Courier New CYR"; mso-ansi-language:EN-US"> };
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> returnfalse;
<span Courier New CYR"; mso-ansi-language:EN-US">};
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">/*
<span Courier New CYR"">Закрываем<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language:EN-US"> */<span Courier New CYR"; mso-ansi-language:EN-US">void Application::db_close()
<span Courier New CYR"">{
<span Courier New CYR""> racers.clear(); // Очищаем списокгонщиков
<span Courier New CYR"">};
<span Courier New CYR"">
<span Courier New CYR"">
<span Courier New CYR"; mso-ansi-language:EN-US">/*
<span Courier New CYR"">Сохранение<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">бд<span Courier New CYR";mso-ansi-language:EN-US"> */<span Courier New CYR"; mso-ansi-language:EN-US">bool Application::db_save(const char * name)
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US"> if(!reader.save_db(name,racers))return false;
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> returntrue;
<span Courier New CYR"; mso-ansi-language:EN-US">};
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">/*
<span Courier New CYR"">Добавить<span Courier New CYR";mso-ansi-language:EN-US"> <span Courier New CYR"">элемент<span Courier New CYR";mso-ansi-language:EN-US"> */<span Courier New CYR"; mso-ansi-language:EN-US">void Application::db_add_item()
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US"> Racertemp;
<span Courier New CYR"; mso-ansi-language:EN-US"> temp.blaps= 0;
<span Courier New CYR"; mso-ansi-language:EN-US"> temp.famely= «Mr.Unknown»;
<span Courier New CYR"; mso-ansi-language:EN-US"> temp.frace= «When?»;
<span Courier New CYR"; mso-ansi-language:EN-US"> temp.name= «Unknown»;
<span Courier New CYR"; mso-ansi-language:EN-US"> temp.pouls= 0;
<span Courier New CYR"; mso-ansi-language:EN-US"> temp.races= 0;
<span Courier New CYR"; mso-ansi-language:EN-US"> temp.tituls= 0;
<span Courier New CYR"; mso-ansi-language:EN-US"> temp.wons= 0;
<span Courier New CYR"; mso-ansi-language:EN-US"> racers.push_back(temp);
<span Courier New CYR"; mso-ansi-language:EN-US">};
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">/*
<span Courier New CYR"">Удалить<span Courier New CYR"; mso-ansi-language:EN-US"> <span Courier New CYR"">элемент<span Courier New CYR";mso-ansi-language: EN-US"> */<span Courier New CYR"; mso-ansi-language:EN-US">void Application::db_delete_item(int number)
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language:EN-US"> if(number>= racers.size() || number<0) return;
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> vector::iteratorit = racers.begin();
<span Courier New CYR"; mso-ansi-language:EN-US"> for(inti=0;i<number;i++) ++it;
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US"> racers.erase(it);
<span Courier New CYR"; mso-ansi-language:EN-US">};
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">// -----------------------------------------------
<span Courier New CYR"; mso-ansi-language:EN-US">/*
<span Courier New CYR"">Сортировка<span Courier New CYR";mso-ansi-language:EN-US"> */<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">bool sort_famely(Racer &one,Racer &two);
<span Courier New CYR"; mso-ansi-language:EN-US">bool sort_name(Racer &one,Racer &two);
<span Courier New CYR"; mso-ansi-language:EN-US">bool sort_frace(Racer &one,Racer &two);
<span Courier New CYR"; mso-ansi-language:EN-US">bool sort_blaps(Racer &one,Racer &two);
<span Courier New CYR"; mso-ansi-language:EN-US">bool sort_pouls(Racer &one,Racer &two);
<span Courier New CYR"; mso-ansi-language:EN-US">bool sort_races(Racer &one,Racer &two);
<span Courier New CYR"; mso-ansi-language:EN-US">bool sort_tituls(Racer &one,Racer &two);
<span Courier New CYR"; mso-ansi-language:EN-US">bool sort_wons(Racer &one,Racer &two);
<span Courier New CYR"; mso-ansi-language:EN-US">
<span Courier New CYR"; mso-ansi-language:EN-US">inline bool sort_famely(Racer &one,Racer &two)
<span Courier New CYR"; mso-ansi-language:EN-US">{
<span Courier New CYR"; mso-ansi-language