База данных пилотов Формулы 1

Интерфейс пользователя состоит из 2 основных элементов: - контекстного меню, посредством которого пользователь может открывать, закрывать, создавать новые базы данных, добавлять

База данных пилотов Формулы 1

Реферат

Компьютеры, программирование

Другие рефераты по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией

Российский Новый Университет

 

 

 

 

 

 

 

 

Пояснительная записка

к курсовой работе

по предмету «Программирование»

на тему:

«База данных пилотов Формулы 1».

 

 

 

Выполнил студент гр.424

Факультета ИСиКТ

Шнайдер Юрий Юрьевич

Руководитель: Маслянкин В.И.

 

 

 

Курсовая работа допущена к защите:

______________________

 

 

 

 

 

 

Москва

2006 г.

Содержание:

 

1.Введение. Цели и задачи курсовой работы.

 

2.Описание предметной области.

2.1.Постановка задачи

2.2.Объекты предметной области.

2.3.Необходимые ресурсы.

 

3.Разработка проекта.

3.1.Классы: свойства и методы.

3.2.Организация классов.

3.3.Интерфейс пользователя.

 

4.Реализация проекта.

 

5.Перспективы доработки программы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.Введение. Цели и задачи курсовой работы.

 

Эта программа написана для любителей гонок "формула 1". Используя её, пользователи могут найти различную информацию о пилоте, такую как количество титулов, побед, и т.п. База данных позволяет удалять пилотов и добавлять новых, а также найти пилота по определённому параметру.

 

 

 

2.Описание предметной области.

 

  1. Постановка задачи.

 

Основные функции программы:

 

1. запоминать вводимые значения, показывать базу данных;

2. добавлять, редактировать данные;

3. осуществлять поиск в базе;

4. сортировать данные базы по запрашиваемому параметру;

5. удалять и сохранять изменения в базе;

6. сохранять всю информацию, а также иметь доступ к открытию информации.

  1. Объекты предметной области.

 

Объекты принадлежащие, хранению и обработке:

 

struct Racer

{

string famely;

string name;

string frace;

int races;

int wons;

int pouls;

int tituls;

int blaps;

};

 

«famely»: фамилия гонщика. Текстовое значение.

«name»: Имя гонщика. Текстовое значение.

«frace»: Дебютная гонка в формуле 1. Текстовое значение.

«races»: Количество проведённых гонок. Цифровое значение.

«wons»: Количество побед. Цифровое значение.

«pouls»: Количество поул-позиций (первое место на старте). Цифровое значение.

«tituls»: Количество титулов чемпиона мира. Цифровое значение.

«blaps»: Количество Лучших кругов в гонке. Цифровое значение.

 

  1. Необходимые ресурсы.

 

Для реализации проекта необходимо подключение следующих заголовочных файлов:

<stdlib.h> , <algorithm> , <fstream> , <string> , <iostream>, <vector> , <commctrl.h> , <commdlg.h>.

Так-же, необходимы следующие windows - библиотеки: “comctl32.lib” и “comdlg.lib”

3.Разработка проекта.

 

  1. Классы: поля и методы.

Класс является абстрактным типом данных, определяемым пользователем, и представляет собой модель реального объекта в виде данных и функций для работы с ними.

Программа разбита на 2-а класса. 1-ый отвечает за базу данных, 2-ой за взаимодействия с ним.

 

Рассмотрим 1-ый класс:

 

class Reader

{

public:

Reader(); // Конструктор / деструкотор

~Reader();

 

bool open_db(const char * file); // Открыть бд

bool save_db(const char * file,vector<Racer> racer); // Сохранить бд

void close_db(); // Закрыть бд

 

bool read(); // Читать БД

void new_paragraph(); // Новый параграф

string paragraph; // Имя параграфа

 

int loadAsInt(string name);// Загружаем параметр как целое число

string loadAsString(string name); // Загружаем параметр как строку

 

private:

fstream db; // Фаил бд

};

 

 

 

 

 

 

 

 

 

 

Рассмотрим 2-ой класс:

 

class Application

{

public:

Application();

~Application();

 

bool db_load(const char *file); // Загружаем базу данных

void db_close(); // Закрываем базу данных

bool db_save(const char *file); // Сохраняем базу данных

 

void db_add_item(); // Добавляем новый элемент

void db_delete_item(int number); // Удаляем определённый элемент

 

void bd_sortby(int value); // Сортировка

 

vector<Racer> racers; // База данныых на основе вектора

private:

Reader reader; // Файловый менеджер

};

 

  1. Организация классов

 

Выбранный контейнер для хранения объектов стандартный “vector” из “vector.h”.

 

 

  1. Интерфейс пользователя.

 

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

  • - контекстного меню, посредством которого пользователь может открывать, закрывать, создавать новые базы данных, добавлять и удалять элементы БД, сортировать по всем параметрам записи и производить поиск записей по определённым параметрам.
  • - основное окно, содержащее инструменты для редактирования элементов базы данных, просмотра элементов, просмотра результатов поиска и сортировки БД, а также задавать параметры поиска.

 

 

  1. Хранение данных.

 

База данных содержит в начале каждой записи заголовок (параграф) "racer". После него через пробел содержатся элементы записи. Каждая запись начинается с новой строки.

 

 

 

 

 

 

4.Реализация проекта.

 

В качестве языка программирования используем С++. Компилятор Visual C++ версии 6.

 

Программа разбита на несколько файлов:

  • main.cpp - реализация основных методов и классов приложения.
  • main.h - описание идентификаторов меню.
  • Rsrc.rc - фаил ресурсов.

 

 

"main.cpp"

 

#include "main.h"

#include <windows.h>

 

#include <stdlib.h>

#include <algorithm>

#include <fstream>

#include <string>

#include <iostream>

#include <vector>

#include <commctrl.h>

#include <commdlg.h>

#pragma comment(lib,"comctl32.lib")

 

using namespace std;

 

 

 

 

 

 

 

 

 

 

/* Описание гонщика */

struct Racer

{

string famely;

string name;

string frace;

int races;

int wons;

int pouls;

int tituls;

int blaps;

};

 

 

 

//------------------------------------

// Файловая система

 

class Reader

{

public:

Reader(); // Конструктор / деструкотор

~Reader();

 

bool open_db(const char * file); // Открыть бд

bool save_db(const char * file,vector<Racer> racer); // Сохранить бд

void close_db(); // Закрыть бд

 

bool read(); // Читать БД

void new_paragraph(); // Новый параграф

string paragraph; // Имя параграфа

 

int loadAsInt(string name);// Загружаем параметры

string loadAsString(string name);

 

private:

fstream db; // Фаил бд

};

 

 

Reader::Reader() {}; // Конструктор / деструктор

Reader::~Reader() { db.close(); };

 

 

/* Открываем бд */

bool Reader::open_db(const char *file)

{

db.open(file);

if(!db) return false;

return true;

};

 

/* Сохраняем базу данных */

bool Reader::save_db(const char * file,vector<Racer> racer)

{

ofstream save;

save.open(

Похожие работы

1 2 3 4 5 > >>