Необходимо разработать программное обеспечение для предпринимателя – владельца нескольких магазинов, которое позволит ему вести учёт продажи товаров в каждом из них, используя язык программирования высокого уровня С++.
В приложении должны быть реализованы следующие модули:
- Ввод данных в базу.
- Добавление данных в базу.
- Вывод данных из базы, на монитор для просмотра.
- Сортировка записей базы
- Удаление данных из базы.
- Редактирование данных базы
Также должен быть предусмотрен вывод сообщений об ошибках, в случае введения неверных команд или данных.
Внедрение в практику программирования объектно-ориентированной парадигмы дает развитие новых областей информатики, значительное повышение уровня технологичности создаваемых программных средств, сокращение затрат на разработку и сопровождение программ, их повторное использование, вовлечение в процесс расширения интеллектуальных возможностей ЭВМ. Объектный подход информационного моделирования предметных областей все более успешно применяется в качестве основы для структуризации их информационных отражений и, в частности , баз знаний.
С++ — это язык программирования общего назначения, хорошо известный своей эффективностью, экономичностью, и переносимостью. Указанные преимущества С++ обеспечивают хорошее качество разработки почти любого вида программного продукта. Использование С++ в качестве инструментального языка позволяет получать быстрые и компактные программы. Во многих случаях программы, написанные на С++, сравнимы по скорости с программами, написанными на языке ассемблера. Перечислим некоторые существенные особенности языка С++:
- С++ обеспечивает полный набор операторов структурного программирования;
- С++ предлагает необычно большой набор операций. Многие операции С++ соответствуют машинным командам и поэтому допускают прямую трансляцию в машинный код. Разнообразие операций позволяет выбирать их различные наборы для минимизации результирующего кода;
— С++ поддерживает указатели на переменные и функции. Указатель на объект программы соответствует машинному адресу этого объекта. Посредством разумного использования указателей можно создавать эффективно выполняемые программы, т.к. указатели позволяют ссылаться на объекты тем же самым путем, как это делает ЭВМ. С++ поддерживает арифметику указателей, и тем самым позволяет осуществлять непосредственный доступ и манипуляции с адресами памяти.
Образовательная программа школы: назначение, содержание, участие ...
... консолидация школы и Вуза, совместные разработки и реализации образовательных программ, выявление качества уровня содержания образования и, если ... руководители могут регулярно представлять руководству школы систематизированные данные о детях: особенностях их поведения, уровне ... старших классах, использование учителя в роли информатора. Работа педагогического коллектива должна быть направлена на ...
Однако, следует отметить, что преимущества языка С++ становятся очевидными при реализации больших программных проектов. Первые же шаги при программировании на С++ требуют от студента тщательного проектирования программы, а также определенной дисциплины при программировании.
ИСТЕМНОЕ ПРОЕКТИРОВАНИЕ
1.1 Разработка спецификаций функций
Для решения поставленных задач необходимо разработать следующие функции:
- void choice_shop(Commodity*, Shop*);
void create _ shop ( Shop *, Commodity *); //создать новый магазин. В функцию поступает массив объектов классов shop и Commodity. Создаётся магазин и, соответственно база товаров для этого магазина. Функция ничего не возвращает.
void delete_shop(Shop*);
- void redact_commodity (Commodity*, char*);//
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)
friend void sort_commodity_price(Commodity*, int)
void date_update(Shop*,int);
char * date _ create (); //дата создания файла. Функция возвращает строку с текущими датой и временем.
Разработка интернет-магазина одежды
... работы - изучить принципы построения интернет-магазина, разработать сайт интернет-магазина одежды "Goodstore". Исходя из поставленной цели, были определены задачи: обоснование необходимости создания интернет-магазина; проведение анализа и выбор интернет-технологий для разработки интернет-магазина; разработка сайта интернет-магазина, ... существует специальная функция define(). Еесинтаксистаков: ...
2.1 Разработка обобщенного алгоритма функционирования приложения
Разработаем обобщенный алгоритм функционирования приложения.
Рис. 2.1 Блок-схема обобщенного алгоритма функционирования приложения
2.2 Разработка структуры приложения и структуры данных
Приложение будет иметь меню, через которое можно будет обращаться к реализуемым функциям.
Структура меню имеет следующий вид:
Рис. 2.2 Блок-схема меню
В программе использовались класс магазинов Shop и класс товаров Commodity:
classShop //класс магазинов
{
charnazvanie[30];//название магазина
charaddress[30];//адрес магазина
chardate[30];//дата и время изменения файла
public:
- voidset(char*, char*, char*);//присваивание данных объекту
voidshow();//вывод объектов на экран (в виде таблицы)
char* get_nazvanie()//»получить» nazvanie
void set_date_after_redact(char*);
- friendvoidsort_shops(Shop*, int);//сортировка магазинов по названию
};
class Commodity //класстовар
{
char name[30];//название
int kol;//количество всего
int prodano;//количество проданных
double price;//цена товара
double gain;//выручка с продажи товаров
public:
- void set(char*,int, int, double, double);//присваиваниезначенийобъекту
voidset_redact(int, int, double,double);//присваивание значений объекту после редактирования
char* get_name();//»получить» название товара
doubleget_gain();//»получить» значение выручки
void show();//вывод объектов на экран (в виде таблицы)
friend void sort_commodity_name(Commodity*,int);//сортировкапоназванию
friend void sort_commodity_price(Commodity*, int);//сортировкапоцене
};
2.3 Разработка программного кода приложения
С++ в настоящее время считается господствующим языком, используемым для разработки коммерческих программных продуктов.
С++ является языком программирования общего назначения. Естественная для него область применения — системное программирование, понимаемое в широком смысле этого слова. Кроме того, С++ успешно используется во многих областях приложения, далеко выходящих за указанные рамки. Реализации С++ теперь есть на всех машинах, начиная с самых скромных микрокомпьютеров — до самых больших супер-ЭВМ, и практически для всех операционных систем.
Объектно-ориентированное программирование наилучшим образом предоставляет технологию управления элементами любой сложности, создавая условия для многократного использования программных компонентов и объединения данных с методами их обработки.
Суть объектно-ориентированного программирования заключается в использовании концепции “объектов” , то есть, скорее, образов, чем данных. Руководящая идея этого подхода заключается в стремлении связать данные с обрабатывающими эти данные методами в единое целое — объект. Объекты имеют характеристики и возможности.
Фактически объектно-ориентированное программирование можно рассматривать как модульное программирование нового уровня, когда вместо во многом случайного, механического объединения процедур и данных акцент делается на их смысловую связь.
Объектная модель способна одинаково хорошо описать как элементы управления графического интерфейса (типа кнопок и раскрывающихся списков), так и реальные объекты (велосипед, самолёт, дом и т.д.).
Таким образом, задача объектно-ориентированного программирования состоит в том, чтобы правильно представить эти объекты на языке программирования.
Для разработки программы использовался пакет VisualC++ 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 Выбрать магазин для учёта товаров
“Список пуст. Создайте базу”
При выборе магазина на экран выводится таблица с имеющимися в нём товарами и меню для работы с товарами ( меню2 ).
Вывод информации о имеющихся магазинах меню1 Ваш выбор: 1 ( очистка экрана ) Вывод информации о имеющихся товарах в магазине меню2 |
С товарами магазина можно проделать следующие операции:
3.2Редактировать товар
“Выбранного вами товара нет в базе”.
Ваш выбор: 1 Введите номер товара: Редактирование товара ‘ название товара ’ Введите количество товара: Введите количество проданных: Введите цену за единицу: (очистка экрана, возврат в меню2) |
3.3Добавить товар
“ Извините, база переполнена, добавление невозможно”
Ваш выбор: 2 Добавление товаров в магазин Можно добавить (количество) товаров Осталось (количество) Введите название товара (чтобы закончить введите ‘0’): Введите количество товара: Введите количество проданных: Введите цену за единицу: Осталось (количество) Введите название товара (чтобы закончить введите ‘0’): (очитка экрана, возврат в меню2) |
3.4Удалить товар
“ Такого товара нет в базе, удаление невозможно”.
Ваш выбор: 3 Введите номер товара, который вы хотите удалить: (очитка экрана, возврат в меню2 |
3.5Сортировка товаров
по названию
Ваш выбор: 4 По названию товара..(1) По цене товара..(2) Вернуться..(3) Ваш выбор:. (сортировка, очистка экрана, вывод отсортированных товаров) По названию товара.(1) По цене товара(2) Вернуться(3) Ваш выбор: (после нажатия ‘3’- очистка экрана, возврат в меню2 ) |
3.6Создание новой базы товаров для магазина
“Извините, база переполнена, добавление невозможно”
Ваш выбор: 5 Можно создать 50 товаров Осталось 50 Введите название товара (чтобы закончить введите ‘0’): …. Введите количество товара: …. Введите количество проданных: …. Введите цену за единицу: …. Осталось (количество) Введите название товара (чтобы закончить введите ‘0’): …. (очитка экрана, возврат в меню2) |
3.7Возврат в главное меню
Для возврата в главное меню выбираем пункт меню 6 ( меню2 ).
После чего выведется список магазинов и меню для работы с магазинами (меню1 ).
4.Создание нового магазина
«Извините, создать магазин невозможно (достигнут предел)».
Ваш выбор: 2 Введите название магазина: Введите адрес магазина: Магазин ‘ название магазина ’ Можно создать 50 товаров Осталось 50 Введите название товара (чтобы закончить введите ‘0’): Введите количество товара: Введите количество проданных: Введите цену за единицу: Осталось (количество) Введите название товара (чтобы закончить введите ‘0’): …. (очитка экрана, возврат в меню1) |
5.Удаление магазина
“ Такого магазина нет в базе, удаление невозможно”.
Ваш выбор: 3 Введите номер магазина, который вы хотите удалить: (очитка экрана, возврат в меню1) |
Выход
Для выхода из программы выбираем пункт меню 4 ( меню1 ).
ЗАКЛЮЧЕНИЕ
При выполнении курсового проекта были пройдены все этапы разработки специализированного прикладного программного обеспечения:
- формализация задачи;
- сбор необходимых исходных данных, используемых в программе;
- составление блок-схемы алгоритма решения задачи и программы.
В процессе выполнения работы была проведена следующая работа:
1. Освоение принципов разработки алгоритмов решения задач на ПЭВМ, правил составления блок-схем алгоритмов;
2. Овладение навыками программирования задач на языке С++, освоение практических приемов записи базовых конструкций языка и программирования линейных, разветвляющихся, циклических вычислительных процессов, отладки и выполнения программ с использованием интегрированной среды разработки VisualC++;
3. Ознакомление с различными сферами применения ПЭВМ в современном обществе, приобретение основных навыков работы с персональным компьютером.
Исполняемый модуль и исходный код на языке VisualC++ прилагаются на дискете.
Программа разработана в среде VisualC++ 6.0.
Пояснительная записка оформлена при помощи MS Word 2003.
1.Демидович Е.М. Основы алгоритмизации и программирования. Язык СИ.: Пособие для студентов БГУИР. – Мн.: Бестпринт, 2001. – 440 с.
2.Шилдт Г. Самоучитель С++. – СПб.: BHV–Санкт-Петербург, 2006. – 688 с.