Реферат по предмету "Информатика, программирование"


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

МИНСКИЙИНСТИТУТ УПРАВЛЕНИЯ
КУРСОВАЯРАБОТА
по дисциплине
«Объектно-ориентированноепроектирование и программирование»
на тему «Автоматизацияучёта продажи товаров в магазинах»
МИНСК 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Разработка спецификаций функций
Для решения поставленныхзадач необходимо разработать следующие функции:
voidchoice_shop(Commodity*, Shop*);  //выбрать для учёта магазин. В функцию поступает массив объектов классов Commodity и Shop. В ней выводится база товаров выбранного магазина, именю для работы с товарами. Функция ничего не возвращает.
voidcreate_shop(Shop*, Commodity*);//создать новый магазин. В функцию поступает массивобъектов классов Shop и Commodity. Создаётся магазин и, соответственнобаза товаров для этого магазина. Функция ничего не возвращает.
voiddelete_shop(Shop*);//удалитьмагазин из базы. В функцию поступает массив объектов класса Shop. Эта функциязапрашивает у пользователя номер удаляемого магазина, удаляет магазин из базыданных. Ничего не возвращает.
void redact_commodity(Commodity*, char*);// редактировать данные о товаре. В функцию поступает массив объектовкласса Commodity и название магазина. Пользовательвыбирает товар, чтобы его отредактировать, после чего его редактирует. Функцияничего не возвращает
voidadd_commodity(Commodity*, char*); //добавить товар в базу. В функцию поступает массивобъектов класса Commodity иназвание магазина. Функция производит дополнение товаров в базу до тех пор покане будет достигнут предел (50 товаров) или пока этого не захочет пользователь.Функция ничего не возвращает.
voiddelete_commodity(Commodity*, char*);//удалить товар из базы. В функцию поступает массивобъектов класса Commodity иназвание магазина. Функция удаляет из базы товар, который выбрал пользователь.Ничего не возвращает.
voidcreate_new_data(Commodity*, char*);//создать новую базу товаров для магазина. В функциюпоступает массив объектов класса Commodity и название магазина. Пользователь вводит новые товары до тех пор, покане будет достигнут предел (50 товаров) или пока не выйдет пользователь. Послечего новые товары записываются поверх старых. Функция ничего не возвращает.
voidshow_tablica(Commodity*, char*);//вывести таблицу товаров магазина. В функциюпоступает массив объектов класса Commodity и название магазина. Функция выводит на экран базу данных товаров в видетаблицы, а также сумму всей выручки данного магазина. Функция ничего невозвращает.
friendvoidsort_shops(Shop* ob, intsize)//сортировка магазинов по названию. Дружественнаяфункция классу Shop, в которуюпоступает массив объектов класса Shop иего размерность. После чего происходит их сортировка по названию. Функцияничего не возвращает.
friend voidsort_commodity_name(Commodity*, int) //сортировка товаров по названию. Дружественная функция классу Commodity, в которую поступает массив объектовкласса Commodity и его размерность. После чегопроисходит их сортировка по названию. Функция ничего не возвращает.
friend voidsort_commodity_price(Commodity*, int) //сортировка товаров по цене. Дружественная функция классу Commodity, в которую поступает массив объектовкласса Commodity и его размерность. После чегопроисходит их сортировка по цене. Функция ничего не возвращает.
voiddate_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
voidset_date_after_redact(char*);
friend void sort_shops(Shop*, int);//сортировка магазинов по названию
};
classCommodity //класс товар
{
charname[30];//название
int kol;//количествовсего
int prodano;//количествопроданных
double price;//ценатовара
double gain;//выручка спродажи товаров
public:
voidset(char*,int, int, double, double);//присваивание значений объекту
void set_redact(int, int, double,double);//присваивание значений объекту послередактирования
char* get_name();//«получить»название товара
double get_gain();//«получить»значение выручки
void show();//выводобъектов на экран (в виде таблицы)
friend voidsort_commodity_name(Commodity*,int);//сортировка по названию
friend voidsort_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Редактироватьтовар
Для редактирования товаравыбираем пункт 1 (меню2). Вводим номер товара для редактирования инажимаем Enter. После этого вводим новые значения для товара. Если вы ввелиневерный номер, выведется сообщение: “Выбранного вами товара нет в базе”.
Ваш выбор: 1
Введите номер товара:
Редактирование товара ‘название товара’
Введите количество товара:
Введите количество проданных:
Введите цену за единицу:
(очистка экрана, возврат в меню2)
 
3.3Добавитьтовар
 
Для добавления товара вбазу выбираем пункт 2 (меню2). Затем вводим товары до тех пор, пока небудет достигнут предел (50 товаров) или пока пользователь не введёт в названиитовара ‘0’. При достижении предела количества товара на экран выведетсясообщение: “ Извините, база переполнена, добавление невозможно”
 
Ваш выбор: 2
Добавление товаров в магазин
Можно добавить (количество) товаров
Осталось (количество)
Введите название товара (чтобы закончить введите ‘0’):
Введите количество товара:
Введите количество проданных:
Введите цену за единицу:
Осталось (количество)
Введите название товара (чтобы закончить введите ‘0’):
 (очитка экрана, возврат в меню2)

3.4Удалитьтовар
 
Для удаления товара избазы выбираем пункт 3 (меню2), вводим номер товара, который хотимудалить и нажимаем Enter. Если выбран номер товара, которого нет в базе,выводится сообщение: “ Такого товара нет в базе, удаление невозможно”.
Ваш выбор: 3
Введите номер товара, который вы хотите удалить:
(очитка экрана, возврат в меню2
 
3.5Сортировкатоваров
 
В программе предусмотренасортировка по двум параметрам: по названию и по цене товара. Чтобыпроизвести сортировку товаров по одному из параметров, выбираем пункт меню 4 (меню2).Затем нажимаем 1 (для сортировки товаров по названию), 2 (для сортировки товаровпо цене). Так можно сортировать до тех пор пока не будет нажата цифра 3, послечего происходит возврат в меню2.
 
Ваш выбор: 4
По названию товара..(1)
По цене товара..(2)
Вернуться..(3)
Ваш выбор:.
(сортировка, очистка экрана, вывод отсортированных товаров)
По названию товара.(1)
По цене товара(2)
Вернуться(3)
Ваш выбор:
 (после нажатия ‘3’- очистка экрана, возврат в меню2 )

3.6Созданиеновой базы товаров для магазина
 
Чтобы создать новую базутоваров для магазина, выбираем пункт меню 5 (меню2). Затем вводим товарыдо тех пор, пока не будет достигнут предел (50 товаров) или пока пользовательне введёт в названии товара ‘0’. При достижении предела количества товара наэкран выведется сообщение: “Извините, база переполнена, добавлениеневозможно”.
 
Ваш выбор: 5
Можно создать 50 товаров
Осталось 50
Введите название товара (чтобы закончить введите ‘0’): ….
Введите количество товара: ….
Введите количество проданных: ….
Введите цену за единицу: ….
Осталось (количество)
Введите название товара (чтобы закончить введите ‘0’): ….
 (очитка экрана, возврат в меню2)
 
3.7Возвратв главное меню
Для возврата в главноеменю выбираем пункт меню 6 (меню2). После чего выведется списокмагазинов и меню для работы с магазинами (меню1).

4.Созданиенового магазина
 
Чтобы создать новыймагазин выбираем пункт меню 2 (меню2). Затем вводим данные о магазине исоздаём базу товаров для него. В программе можно создать до 10 магазинов. Еслив базе уже будет 10 магазинов, то создать магазин не получится, выведетсясоответствующее сообщение: «Извините, создать магазин невозможно(достигнут предел)».
Ваш выбор: 2
Введите название магазина:
Введите адрес магазина:
Магазин ‘название магазина’
Можно создать 50 товаров
Осталось 50
Введите название товара (чтобы закончить введите ‘0’):
Введите количество товара:
Введите количество проданных:
Введите цену за единицу:
Осталось (количество)
Введите название товара (чтобы закончить введите ‘0’): ….
 (очитка экрана, возврат в меню1)
 

5.Удалениемагазина
Для удаления магазина избазы выбираем пункт 3 (меню 1), вводим номер магазина, который хотимудалить, и нажимаем Enter. Если выбран номер магазина, которого нет в базе,выводится сообщение: “ Такого магазина нет в базе, удаление невозможно”.
Ваш выбор: 3
Введите номер магазина, который вы хотите удалить:
(очитка экрана, возврат в меню1)
 
Выход
Для выхода из программывыбираем пункт меню 4 (меню1).
 

ЗАКЛЮЧЕНИЕ
 
При выполнении курсовогопроекта были пройдены все этапы разработки специализированного прикладногопрограммного обеспечения:
· формализациязадачи;
· сбор необходимыхисходных данных, используемых в программе;
· составлениеблок-схемы алгоритма решения задачи и программы.
В процессе выполнения работы была проведена следующая работа:
1. Освоение принципов разработки алгоритмов решения задач наПЭВМ, правил составления блок-схем алгоритмов;
2. Овладение навыками программирования задач на языке С++,освоение практических приемов записи базовых конструкций языка ипрограммирования линейных, разветвляющихся, циклических вычислительныхпроцессов, отладки и выполнения программ с использованием интегрированной средыразработки Visual C++;
3. Ознакомление с различными сферами применения ПЭВМ всовременном обществе, приобретение основных навыков работы с персональнымкомпьютером.
Исполняемый модуль и исходный код на языке Visual C++ прилагаются на дискете.
Программа разработана в среде Visual C++ 6.0.
Пояснительная запискаоформлена при помощи MS Word 2003.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.Демидович Е.М. Основы алгоритмизации и программирования. ЯзыкСИ.: Пособие для студентов БГУИР. – Мн.: Бестпринт, 2001. – 440 с.
2.Шилдт Г. Самоучитель С++. – СПб.: BHV–Санкт-Петербург, 2006. – 688 с.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.