50340 (Автоматизация учёта продажи товаров в магазинах)

2016-07-30СтудИзба

Описание файла

Документ из архива "Автоматизация учёта продажи товаров в магазинах", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "50340"

Текст из документа "50340"

МИНСКИЙ ИНСТИТУТ УПРАВЛЕНИЯ

КУРСОВАЯ РАБОТА

по дисциплине

«Объектно-ориентированное проектирование и программирование»

на тему «Автоматизация учёта продажи товаров в магазинах»

МИНСК 2008



РЕФЕРАТ

«Учет товаров в магазинах »

Объём работы 36 страниц.

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

  1. Создание базы

  2. Добавление данных в базу

  3. Вывод содержимого базы

  4. Сортировка записей базы

  5. Удаление записей из базы

  6. Редактирование данных в базе

Содержание

ПОСТАНОВКА ЗАДАЧИ

ВВЕДЕНИЕ

1. Системное проектирование

1.1 Разработка спецификаций функций

2. ФУНКЦИОНАЛЬНОЕ ПРОЕКТИРОВАНИЕ

2.1 Разработка обобщенного алгоритма функционирования приложения

2.2 Разработка структуры приложения и структуры данных

2.3 Разработка программного кода приложения

2.4 Результаты тестирования приложения

2.5 Описание приложения, инструкция по его использованию

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


ПОСТАНОВКА ЗАДАЧИ

Необходимо разработать программное обеспечение для предпринимателя – владельца нескольких магазинов, которое позволит ему вести учёт продажи товаров в каждом из них, используя язык программирования высокого уровня С++.

В приложении должны быть реализованы следующие модули:

- Ввод данных в базу.

- Добавление данных в базу.

- Вывод данных из базы, на монитор для просмотра.

- Сортировка записей базы

- Удаление данных из базы.

- Редактирование данных базы

Также должен быть предусмотрен вывод сообщений об ошибках, в случае введения неверных команд или данных.


ВВЕДЕНИЕ

Внедрение в практику программирования объектно-ориентированной парадигмы дает развитие новых областей информатики, значительное повышение уровня технологичности создаваемых программных средств, сокращение затрат на разработку и сопровождение программ, их повторное использование, вовлечение в процесс расширения интеллектуальных возможностей ЭВМ. Объектный подход информационного моделирования предметных областей все более успешно применяется в качестве основы для структуризации их информационных отражений и, в частности , баз знаний.

С++ - это язык программирования общего назначения, хорошо известный своей эффективностью, экономичностью, и переносимостью. Указанные преимущества С++ обеспечивают хорошее качество разработки почти любого вида программного продукта. Использование С++ в качестве инструментального языка позволяет получать быстрые и компактные программы. Во многих случаях программы, написанные на С++, сравнимы по скорости с программами, написанными на языке ассемблера. Перечислим некоторые существенные особенности языка С++:

- С++ обеспечивает полный набор операторов структурного программирования;

- С++ предлагает необычно большой набор операций. Многие операции С++ соответствуют машинным командам и поэтому допускают прямую трансляцию в машинный код. Разнообразие операций позволяет выбирать их различные наборы для минимизации результирующего кода;

- С++ поддерживает указатели на переменные и функции. Указатель на объект программы соответствует машинному адресу этого объекта. Посредством разумного использования указателей можно создавать эффективно выполняемые программы, т.к. указатели позволяют ссылаться на объекты тем же самым путем, как это делает ЭВМ. С++ поддерживает арифметику указателей, и тем самым позволяет осуществлять непосредственный доступ и манипуляции с адресами памяти.

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

1.СИСТЕМНОЕ ПРОЕКТИРОВАНИЕ

1.1 Разработка спецификаций функций

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

void choice_shop(Commodity*, Shop*); //выбрать для учёта магазин. В функцию поступает массив объектов классов Commodity и Shop. В ней выводится база товаров выбранного магазина, и меню для работы с товарами. Функция ничего не возвращает.

void create_shop(Shop*, Commodity*);//создать новый магазин. В функцию поступает массив объектов классов Shop и Commodity. Создаётся магазин и, соответственно база товаров для этого магазина. Функция ничего не возвращает.

void delete_shop(Shop*);//удалить магазин из базы. В функцию поступает массив объектов класса Shop. Эта функция запрашивает у пользователя номер удаляемого магазина, удаляет магазин из базы данных. Ничего не возвращает.

void redact_commodity (Commodity*, char*);// редактировать данные о товаре. В функцию поступает массив объектов класса Commodity и название магазина. Пользователь выбирает товар, чтобы его отредактировать, после чего его редактирует. Функция ничего не возвращает

void add_commodity (Commodity*, char*); //добавить товар в базу. В функцию поступает массив объектов класса Commodity и название магазина. Функция производит дополнение товаров в базу до тех пор пока не будет достигнут предел (50 товаров) или пока этого не захочет пользователь. Функция ничего не возвращает.

void delete_commodity (Commodity*, char*);//удалить товар из базы. В функцию поступает массив объектов класса Commodity и название магазина. Функция удаляет из базы товар, который выбрал пользователь. Ничего не возвращает.

void create_new_data (Commodity*, char*);//создать новую базу товаров для магазина. В функцию поступает массив объектов класса Commodity и название магазина. Пользователь вводит новые товары до тех пор, пока не будет достигнут предел (50 товаров) или пока не выйдет пользователь. После чего новые товары записываются поверх старых. Функция ничего не возвращает.

void show_tablica (Commodity*, char*);//вывести таблицу товаров магазина. В функцию поступает массив объектов класса Commodity и название магазина. Функция выводит на экран базу данных товаров в виде таблицы, а также сумму всей выручки данного магазина. Функция ничего не возвращает.

friend void sort_shops(Shop* ob, int size)//сортировка магазинов по названию. Дружественная функция классу Shop, в которую поступает массив объектов класса Shop и его размерность. После чего происходит их сортировка по названию. Функция ничего не возвращает.

friend void sort_commodity_name(Commodity*, int) //сортировка товаров по названию. Дружественная функция классу Commodity, в которую поступает массив объектов класса Commodity и его размерность. После чего происходит их сортировка по названию. Функция ничего не возвращает.

friend void sort_commodity_price(Commodity*, int) //сортировка товаров по цене. Дружественная функция классу Commodity, в которую поступает массив объектов класса Commodity и его размерность. После чего происходит их сортировка по цене. Функция ничего не возвращает.

void date_update(Shop*,int);//дата обновления файла. В функцию поступает массив объектов класса Shop и номер индекса редактируемого магазина. Обновляет текущие дату и время (date). Функция ничего не возвращает.

char* date_create();//дата создания файла. Функция возвращает строку с текущими датой и временем.


2.ФУНКЦИОНАЛЬНОЕ ПРОЕКТИРОВАНИЕ


2.1 Разработка обобщенного алгоритма функционирования приложения

Разработаем обобщенный алгоритм функционирования приложения.


Рис. 2.1 Блок-схема обобщенного алгоритма функционирования приложения

2.2 Разработка структуры приложения и структуры данных

Приложение будет иметь меню, через которое можно будет обращаться к реализуемым функциям.

Структура меню имеет следующий вид:


Рис. 2.2 Блок-схема меню

В программе использовались класс магазинов Shop и класс товаров Commodity:

class Shop //класс магазинов

{

char nazvanie[30];//название магазина

char address[30];//адрес магазина

char date[30];//дата и время изменения файла

public:

void set(char*, char*, char*);//присваивание данных объекту

void show();//вывод объектов на экран (в виде таблицы)

char* get_nazvanie()//"получить" nazvanie

void set_date_after_redact(char*);

friend void sort_shops(Shop*, int);//сортировка магазинов по названию

};

class Commodity //класс товар

{

char name[30];//название

int kol;//количество всего

int prodano;//количество проданных

double price;//цена товара

double gain;//выручка с продажи товаров

public:

void set(char*,int, int, double, double);//присваивание значений объекту

void set_redact(int, int, double,double);//присваивание значений объекту после редактирования

char* get_name();//"получить" название товара

double get_gain();//"получить" значение выручки

void show();//вывод объектов на экран (в виде таблицы)

friend void sort_commodity_name(Commodity*,int);//сортировка по названию

friend void sort_commodity_price(Commodity*, int);//сортировка по цене

};

2.3 Разработка программного кода приложения

С++ в настоящее время считается господствующим языком, используемым для разработки коммерческих программных продуктов.

С++ является языком программирования общего назначения. Естественная для него область применения - системное программирование, понимаемое в широком смысле этого слова. Кроме того, С++ успешно используется во многих областях приложения, далеко выходящих за указанные рамки. Реализации С++ теперь есть на всех машинах, начиная с самых скромных микрокомпьютеров - до самых больших супер-ЭВМ, и практически для всех операционных систем.

Объектно-ориентированное программирование наилучшим образом предоставляет технологию управления элементами любой сложности, создавая условия для многократного использования программных компонентов и объединения данных с методами их обработки.

Суть объектно-ориентированного программирования заключается в использовании концепции “объектов” , то есть, скорее, образов, чем данных. Руководящая идея этого подхода заключается в стремлении связать данные с обрабатывающими эти данные методами в единое целое - объект. Объекты имеют характеристики и возможности.

Фактически объектно-ориентированное программирование можно рассматривать как модульное программирование нового уровня, когда вместо во многом случайного, механического объединения процедур и данных акцент делается на их смысловую связь.

Объектная модель способна одинаково хорошо описать как элементы управления графического интерфейса (типа кнопок и раскрывающихся списков), так и реальные объекты (велосипед, самолёт, дом и т.д.). Таким образом, задача объектно-ориентированного программирования состоит в том, чтобы правильно представить эти объекты на языке программирования.

Для разработки программы использовался пакет Visual C++ 6.0

Листинг программы представлен в Приложении.


2.4 Результат тестирования приложения


Протестируем функционирование всего приложения по пунктам меню

2.5 Описание приложения, инструкция по его использованию

Программа предназначена для ведения упрощенной базы данных по учету продажи товаров в нескольких магазинах. Подробное описание работы с программой приведено в п.2.4. Для функционирования программы необходим персональный компьютер любой конфигурации. Программа может работать в операционных системах MS DOS, Windows 3.1./95/98/Me/NT/2000/XP.

3.Начало работы программы

Вывод информации о имеющихся магазинах

Вывод главного меню

1 – Выбрать магазин для учёта товаров

1.1 - Редактировать товар

1.2 - Добавить товар

1.3 - Удалить товар

1.4 - Сортировать товары (по названию, по цене)

1.5 - Создать новую базу товаров

1.6 - Возврат в главное меню

2 – Создать новый магазин

3 – Удалить магазин из списка

4 – Выход

3.1 Выбрать магазин для учёта товаров

При запуске программы на экран выводится пронумерованный список имеющихся магазинов и главное меню (меню1). Если в базе магазинов нет, выведется сообщение: “Список пуст. Создайте базу”. После выбора этого пункта меню при пустой базе, программа будет возвращаться в начало и, соответственно, никаких операций проделать не получится.

При выборе магазина на экран выводится таблица с имеющимися в нём товарами и меню для работы с товарами (меню2).

Вывод информации о имеющихся магазинах

меню1

Ваш выбор: 1

(очистка экрана)

Вывод информации о имеющихся товарах в магазине

меню2

С товарами магазина можно проделать следующие операции:

3.2Редактировать товар

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее