Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Автостоянки

Тип Реферат
Предмет Информатика и программирование
Просмотров
1317
Размер файла
148 б
Поделиться

Ознакомительный фрагмент работы:

Автостоянки

Введение

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

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

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

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

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

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

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

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 ”- индефикатор района, в котором стоит автомобиль

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

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

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

данных или внесения изменений в таблицу.

class CRow

{

vector<CRecord>rec; // Вектор ячеек строке

int flag; // Флаг для оператора присваивания ( временное хранение )

string name; // Имя для оператора присваивания ( временное хранение )

unsigned int type; // Тип для оператора присваивания ( временное хранение )

public:

CRow(); // Конструктор

void reset(); // Обнуляет строку

void setrow(vector<CRecord>&v); // Вводит строку в виде ячеек

vector<CRecord>&getrow(); // Вводит строку в виде ячеек

string operator[](string ss); // Возвращает значение по ключу

int operator()(string ss); // Возвращает тип по ключу

// Первая часть составного оператора присваивания

Row&operator()(string ss,unsigned int typ);

// Вторая часть составного оператора присваивания

void operator=(string dat);

};

5.4 CTable

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

class CTable

{

vector<CColum> types; // Информацию о типах

string filename; // Название файла, с которым идёт работа

fpos_t startdata; // Начало области данных в файле

int getfullsize(); // Возвращает длину строки

public:

CTable(string&filename); // Конструктор принимает название файла

Is(); // Проверяет существование базы

vector<CColumn> GetCap(); // Возвращает информацию о типах

int getrows(); // Возвращает число строк

// Создание базы. Принимает вектор столбцов. Если будет более одного автоувеличивающе-

// гося столбца, то она применится только к первому

bool CreateTable(vector<CColumn>&type);

bool AddRow(CRow&rr); //Добавляет строку

// Осуществляет поиск данных по точному совпадению строки

// Запись, найденных значений идёт в массив finded

void GetStr(vector<CRow>&finded,string nam,string dat);

// Осуществляет поис данных по вхождению строки

// Запись, найденных значений идёт в массив finded

void GetCmp(vector<CRow>&finded,string nam,string dat)

bool DeleteData(string nam,string dat); // Удаляет строку при точном совпадением

// Изменяет строку c ключом nam и значением dat на rr.

bool ChangeData(CRow&rr,string nam,string dat);

};

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

6.1 CTable(string&filename)

1. Сохранения значения переменной filename во внутренней переменной класса filename.

2. Проверка существования файла filename.

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

6.2 CTable::AddRow(CRow&rr)

1. Открытие файла, заданного в переменной filename и занесение индефикатора файла в FILE*file.

2. Запись текущего автоувеличения, увеличенного на 1.

3. Смещения в конец файла file.

4. Запись введённой строки rr.

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

1. Открытие файла, заданного в переменной filename и занесение индефикатора файла в FILE*file.

2. Смещение на начало данных.

3. Считывание строки из файла и занесение в CRow ww.

4. Сравнение ww[“nam”] и dat.

5. Если совпадает, то добавить строку в vector<CRow> finded.

6. Если не совпадают, то перейти на пункт 2 (повторить, пока не будет достигнут конец файла).

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

1. Открытие файла, заданного в переменной filename и занесение индефикатора файла в FILE*file.

2. Смещение на начало данных.

3. Считывание строки из файла и занесение в CRow ww.

4. Сравнение ww[“nam”] и dat.

5. Если совпадают, то сместиться на начало считанной строки и записать строку rr.

6. Если не совпадает, то перейти на пункт 2(повторить, пока не будет достигнут конец файла).

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

1. Открытие файла, заданного в переменной filename и занесение индефикатора в FILE*file.

2. Смещение на начало данных.

3. Считывание строки из файла и занесение в CRow ww.

4. Сравнение ww[“nam”] и dat.

5. Если совпадают, то считать следующую и записать на месте предыдущей

( действие повторяется, пока не будет конец файла)

6. Файл уменьшить на одну строку.

7. Если строки в пункте 4 не совпали, то перейти на пункт 2(повторить, пока не будет достигнут конец файла).

6.6 CTable::Is()

1. Открытие файла, заданного в переменной filename и занесение индефикатора в FILE*file.

2. Считывание информации по адресу 0x00 в buf

3. Если содержимое buf не равно ‘AM’, то вернуть false.

4. Считывание содержимого по адресу 0x02 в buf

5. Если содержимое равно 0, то вернуть false

6. Вернуть true;

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

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

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

Добавлять/изменять/удалять названия районов

Добавлять/изменять/удалять названия стоянок

Добавлять/изменять/удалять названия марок автомобилей

Добавлять/изменять/удалять данные о автомобиле

Осуществлять поиск автомобилей по владельцу, марке, номеру

Осуществлять поиск автомобилей на конкретной стоянке, районе или по всем стоянкам города

Для удобства работы предусмотрена подсказка.

Рис 1. Общий вид программы

Рис 2. Окно для поиска автомобилей.

Рис 3. Окно для редактирования списка стоянок

9 Заключение

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

Минимальные требования:

- процессор Intel 200 МГц;

- оперативная память 64 Мб;

- WINDOWS 95/98/NT.

Запрещается:

-нарушать структуру файлов;

Список литературы

MSDN Library – техническая справка для разработчиков программного обеспечения. – MicroSoft Corp., 2004.

Ю. Тихомиров - «Самоучитель MFC». - БХВ-Петербург, 2002г.

Е. Демидович – «Основы алгоритмизации и программирования на си». - Бестпринт, 2003.

Б. Страуструп – «Язык программирования C++». – Бином, 2004.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
Физика
История
icon
137666
рейтинг
icon
5834
работ сдано
icon
2641
отзывов
avatar
Математика
История
Экономика
icon
137419
рейтинг
icon
3044
работ сдано
icon
1326
отзывов
avatar
Химия
Экономика
Биология
icon
92238
рейтинг
icon
2003
работ сдано
icon
1260
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
51 584 оценки star star star star star
среднее 4.9 из 5
Финансовый Университет при Правительстве РФ
работа выполнена оперативно, не придраться! исполнитель очень выручил. :)
star star star star star
МГУТУ
Спасибо огромное за досрочно выполненную работу. Ответственный исполнитель всем рекомендую.
star star star star star
Волгау
Отзывчивый человек, пошла на встречу и в цене и в требованиях. Рекомендую, все быстро и ка...
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Обзор приговоров

Другое, Криминология

Срок сдачи к 25 апр.

только что

Конспект урока по русскому для 3 класса

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

Срок сдачи к 22 апр.

1 минуту назад

решить вариант 10

Контрольная, типология объектов недвижимости

Срок сдачи к 30 апр.

2 минуты назад

написать отчет

Отчет по практике, Анализ хозяйственной деятельности

Срок сдачи к 22 апр.

3 минуты назад

пройти итоговый тест

Тест дистанционно, Английский язык

Срок сдачи к 20 апр.

3 минуты назад

Написать индивидуальный проект на какую нибудь социальную...

Другое, Обществознание

Срок сдачи к 30 апр.

4 минуты назад

Рассчитать материальный баланс на один цикл загрузки

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

Срок сдачи к 26 апр.

4 минуты назад

Тестирование по маркетингу

Тест дистанционно, Маркетинг

Срок сдачи к 22 апр.

4 минуты назад

сделать практикум весь

Лабораторная, Информационные технологии

Срок сдачи к 1 июня

5 минут назад

Выполнить реферат по введение в экономическую теорию.

Реферат, Экономика

Срок сдачи к 24 апр.

5 минут назад

Решить задачи по Жилищному праву

Решение задач, жилищное право

Срок сдачи к 19 апр.

5 минут назад

Сделать курсовую

Курсовая, Информационые сети и комуникации

Срок сдачи к 19 апр.

6 минут назад

Доказать

Решение задач, Математическая логика

Срок сдачи к 24 апр.

7 минут назад

Сделать курсовую

Курсовая, Оценка бизнеса

Срок сдачи к 26 апр.

7 минут назад
8 минут назад

3 задания

Контрольная, аналитическая геометрия

Срок сдачи к 30 апр.

8 минут назад

Решить 2 задачи

Решение задач, Гражданское право и процесс

Срок сдачи к 24 апр.

9 минут назад

Помощь в решении заданий в СДО

Решение задач, теория вероятностей

Срок сдачи к 17 мая

9 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно