Автостоянки

Связь между языком, на котором мы думаем/программируем, и задачами и решениями, которые мы можем представлять в своем воображении, очень близка.

Автостоянки

Реферат

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

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

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

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

Содержание:

 

1. Введение 2

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

3. Структура выходных и входных данных 4

4. Диаграмма классов 5

5. Описание основных классов 6

5.1 CColum 6

5.2 СRecord 7

5.3 СRow 8 9

5.4 CTable 9

6. Алгоритм по шагам 9

6.1 CTable(string&filename)9

6.2 CTable::AddRow(CRow&rr)9

6.3 CTable::GetCmp(vector<CRow>&finded,string nam,string dat)9

6.4 CTable::ChangeData(CRow&rr,string nam,string dat)9

6.5 CTable::DeleteData(string nam,string dat)9

6.6 CTable::Is()10

7. Листинг программы 11

8. Результат работы программы 49

9. Заключение 51

10. Литература 52

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Введение

 

Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько "близок к машине", что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. С таким умыслом первоначально задумывался C. Второй цели идеально отвечает язык, который настолько "близок к решаемой задаче", чтобы концепции ее решения можно было выражать прямо и коротко. С таким умыслом предварительно задумывались средства, добавленные к C для создания C++.

Связь между языком, на котором мы думаем/программируем, и задачами и решениями, которые мы можем представлять в своем воображении, очень близка. По этой причине ограничивать свойства языка только целями исключения ошибок программиста в лучшем случае опасно. Как и в случае с естественными языками, есть огромная польза быть по крайней мере двуязычным. Язык предоставляет программисту набор концептуальных инструментов; если они не отвечают задаче, то их просто игнорируют. Например, серьезные ограничения концепции указателя заставляют программиста применять вектора и целую арифметику, чтобы реализовать структуры, указатели и т.п. Хорошее проектирование и отсутствие ошибок не может гарантироваться чисто за счет языковых средств.

Cистема типов должна быть особенно полезна в нетривиальных задачах. Действительно, концепция классов в C++ показала себя мощным концептуальным средством.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

Написать информационную систему по учёту автомобилей. Организовать автостоянки по районам. Осуществлять поиск автомобилей на конкретной автостоянке и по всем автостоянкам по владельцу, по номеру автомобиля, по марке автомобиля.

Добавление, удаление автомобилей со стоянок.

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Структура выходных и входных данных

 

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

 

Смещение в файлеОписание0х00Индефикатор файла ( “AM” )0х02Количество столбцов0х03Номер автоувеличивающегося столбца0х04Номер последнего автоувеличения0x06Описание полей базы (размер, название)Область с данными (информация о длине берётся из описания полей).

Для хранения информации о марках машин используется файл models.bas. Структура файла представлена ниже:

 

id model

“id”- индефикатор марки машины

“model ”- название марки машины

 

Для хранения информации о районах используется файл districts.bas. Структура файла представлена ниже:

 

id district

“id”- индефикатор района

“district”- название района

 

Для хранения информации о стоянках используется файл stations.bas. Структура файла представлена ниже:

 

idstationsid

“id”- индефикатор стоянки

“station”- название стоянки

“sid”- индефикатор района, к которому принадлежит стоянка

 

. Для хранения информации о автомобилях используется файл cars.bas. Структура файла представлена ниже:

 

idmodelnumberownerciddid

“id”- индефикатор автомобиля

“ model ”- модель автомобиля

“ number ”- номер автомобиля

“ owner ”- имя владельца автомобиля

“ cid ”- индефикатор стоянки, в котором стоит автомобиль

“ did ”- индефикатор района, в котором стоит автомобиль

 

 

 

  1. Диаграмма классов

 

 

5 Описание классов.

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

 

5.1 CColumn

Класс предназначен для задания типов столбцов таблицы.

class CColum

{

string name;// Название поля

unsigned int length;// Длина поля (совпадает с индефикатором типа)

bool autoit;// Ключ. Показывает, нужно ли автоувеличение

public:

// Конструктор принимает название поля и его тип

CColumn(string&ss,unsigned int len);

// Конструктор принимает название поля,его тип и ключ автоувеличения.

CColumn(string&ss,unsigned int len,int aa);

bool isauto();// Являтся ли поле автоувеличивающися

string&getname();// Возвращает имя поля

unsigned int gettype();// Возвращает тип поля

};

Следует отметить, что автоувеличение применяется только к целым типам.

 

5.2 СRecord

Класс предназначен для хранения одной ячкейки базы данных. Агрегируется только классом Row.

class СRecord

{

string name;// Название поля

string data;// Данные

unsigned int type;// Тип поля

public:

void setname(string&nam);// Установить имя поля

void setdata(string&dat);// Установить данне

void settype(unsigned int&typ);// Установить тип

string&getname();// Получить имя поля

string&getdata();// Получить данные

unsigned int gettype();// Получить тип

};

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.3 CRow

Класс предназначен для хранения и строк данных, полученных в результате поиска

да

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

1 2 3 > >>