База данных склада обоев
C++ как компилируемый статически типизированный язык программирования общего назначения. Создание базы данных на предприятии для хранения, обработки, проведения расчётов, сортировки, выборки и представления любых массивов данных по любым критериям.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 24.03.2016 |
Размер файла | 18,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОЙ РАБОТЕ
по дисциплине: «Высокоуровневые методы информатики и программирования»
на тему: «База данных склада обоев»
Введение
C++ -- компилируемый статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы программирования как процедурное программирование, модульность, раздельная компиляция, обработка исключений, абстракция данных, типы (объекты), виртуальные функции, объектно-ориентированное программирование, обобщенное программирование, контейнеры и алгоритмы, сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником -- языком C, -- наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «C++» происходит от названия языка C, в котором унарный оператор ++ обозначает инкремент переменной.
Говоря проще, C++ - это один из популярных языков программирования, который обладает большой гибкостью и широкими возможностями. база программирование хранение
1. Почему я выбрал C++
Каждый говорит о том языке хорошо, который знает лучше всего. Некоторые плюсы и минусы языка на мой взгляд:
+
1. Высокая производительность.
2. Работа на всех ОС.
3. Большинство крупных проектов построено именно на C++.
4. Огромное количество вакансий.
5. Огромное количество библиотек и надстроек.
7. Идеально подходит для системного программирования.
8. Унаследован синтаксис от языка C
-
1. Не самый лучший выбор для новичков так как язык не является легким.
Очевидно что язык долго еще будет жить так как очень мощен и развивается многими компаниями. Напомню что большинство проектов крупных компаний пишутся именно на C++. Примеры: Microsoft Office, Photoshop, Windows, Skype, Google Earth и многие другие. Кроме того, удобный инструмент для написания клиента базы данных, с чем собственно и связан мой проект.
Терминология
База данных (БД) -- совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных
Системма управлемния бамзами дамнных (СУБД) -- совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных
· Формирование и поддержание БД
· Обработка информации
· Прием запросов
· Предоставление информации пользователям
· Обеспечение целостности и реорганизация ценностей БД
· Организация совместной работы пользователей
2. Для чего нужны Базы Данных
В настоящее время в современном мире электронных технологий практически невозможно представить компанию, в которой не требуется обработка некоторого объёма информации. Информацию требуется, где-то хранить. Информация может динамически изменяться. Регулярно требуется выборка данных по определённым критериям из всего массива.
Базы данных создаются специально для хранения, обработки, проведения расчётов, сортировки, выборки и представления любых массивов данных по любым критериям.
Если база данных подобрана грамотно и верно, то процент откликов будет достаточно высок.
Целью данной курсовой работы является анализ и разработка программы на тему «База данных склада обоев». Программа должна корректно отображать, хранить, обрабатывать данные. Каталог должен содержать следующие характеристики товара:
· Изготовитель (фирма)
· Класс обоев (материал)
· Цвет
· Цена
Сама программа должна выполнять следующие функции:
1. Добавление сведений о каждом товаре;
2. Удаление сведений о выбранном товаре;
3. Вывод сведений о товаре.
Описание процедур и функций
Типы переменных. Для хранения информации во время выполнения программы используются переменные. Языком С++ предусматривается использование следующих типов данных , как базовых для написания программы:
» bool - это переменная, в которой хранятся значения "true"(истина) или "false"(ложь)
» int - переменная целочисленных значений в диапазоне от -10^9 до 10^9
» char - данная переменная используется для хранения символов
» double - вещественный тип данных (с плавающей запятой)
» string - требуется для работы со строками
Класс - это структура языка, включающая, помимо описания данных, описание процедур и функций, которые могут быть выполнены над представителем класса - объектом. Переменные в зависимости от предназначения именуются полями или свойствами. Процедуры и функции класса - методами. Соответствующий классу тип называется объектным типом. Пример объявления простого класса:
class BASA //класс
{
private:// поля класса
VIP* bot; VIP* top;
public:// методы класса
Указатель -- переменная, диапазон значений которой состоит из адресов ячеек памяти и специального значения -- нулевого адреса. Значение нулевого адреса не является реальным адресом и используется только для обозначения того, что указатель в данный момент не может использоваться для обращения ни к какой ячейке памяти.
VIP* next;//укзатели на начало и конец следующего элемента
VIP* prev;
Конструктор -- специальный блок инструкций, вызываемый при создании объекта.
Конструктор схож с методом, но отличается от метода тем, что не имеет явным образом определённого типа возвращаемых данных, не наследуется, и обычно имеет различные правила для рассматриваемых модификаторов.
Конструкторы часто выделяются наличием одинакового имени с именем класса, в котором объявляется. Их задача -- инициализировать члены объекта и определить инвариант класса, сообщив в случае некорректности инварианта. Корректно написанный конструктор оставит объект в «правильном» состоянии. Неизменяемые объекты тоже должны быть проинициализированы конструктором.
BASA()//конструктор
{bot=0, top=0;} // указатели на нулевом элементе
void znachenie(string cv, string koll, string cen, string clas, string izg, string Zak, string dos);// функции
void vivodim();
void vivodimTwo();
void Delete();
void DeleteAll();
};
Безусловные циклы. Иногда в программах используются циклы, выход из которых не предусмотрен логикой программы. Такие циклы называются безусловными, или бесконечными. В таком случае используются флаги.
elem.znachenie(cv, koll, cen, clas, izg, Zak,dos);
flags=1; break;
case 2: elem.vivodim();break;
case 3: elem.vivodimTwo(); break;
case 4: elem.Delete(); break;
case 5: elem.DeleteAll(); break;
case 0: flag=1; exit; break;
default: cout<<"Непредусмотренный символ"<<endl; break; }
3. Текст программы
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <conio.h>
#include <string>
#include <windows.h>
using namespace std;
struct VIP // структура
{
string izgotovitel; // содержание
string clasoboev;
string Cvet;
string Kollichestvo;
string Cena;
string dostavka;
string Zakaz;
VIP* next;//укзатели на начало и конец следующего элемента
VIP* prev;
};
class BASA //класс
{
private:// поля класса
VIP* bot; VIP* top;
public:// методы класса
BASA()//конструктор
{bot=0, top=0;} // указатели на нулевом елементе
void znachenie(string cv, string koll, string cen, string clas, string izg, string Zak, string dos);// ф-ии
void vivodim();
void vivodimTwo();
void Delete();
void DeleteAll();
};
void BASA::znachenie(string cv, string koll, string cen, string clas, string izg, string Zak, string dos)// обращение к классу через простраство имён
{ VIP* RULON = new VIP;// создание нового элемента
RULON->Cvet=cv; // передача раличных значений в класс а через него в структуру
RULON->Kollichestvo=koll;
RULON->Cena=cen;
RULON->clasoboev=clas;
RULON->izgotovitel=izg;
RULON->dostavka=dos;
RULON->Zakaz=Zak;
RULON->next = 0; // запомнить значение первого
if(top!=0) // если он не первый добавленный
{
bot->next=RULON;
bot = RULON;// новый элемент становится последним элементом списка
}
else // новый элемент становится единственным
// если он первый добавленный
{
top=bot=RULON;
}
}
void BASA::Delete() //удаление
{
VIP* RULON=top;// присвоение значения текущего указателя следующему
top=top->next; delete RULON;
}
void BASA::DeleteAll()// удалить все
{ while(top!=0) Delete(); }
void BASA::vivodim()
{
VIP* monitor = top;//
while(monitor)
{ cout<<"=================================="<<endl;
cout<<" Класс: "<<monitor->clasoboev<<endl;// передача значений на экран
cout<<" Изготовитель: "<<monitor->izgotovitel<<endl;
cout<<" Цвет: "<<monitor->Cvet<<endl;
cout<<" Колличество: "<<monitor->Kollichestvo<<endl;
cout<<" Цена: "<<monitor->Cena<<endl;
cout<<" Дата заказа: "<<monitor->Zakaz<<endl;
cout<<" Дата доставки: "<<monitor->dostavka<<endl;
cout<<"=================================="<<endl;
cout<<endl; monitor=monitor->next;
}
}
void BASA::vivodimTwo()// отдельный вывод элемента
{
int i;
VIP* monitor = top;//
cout<<"Введите номер нужного эелемента: "; cin>>i;
for(int d=1;d<i;d++)// цикл, позиции запрашиваемого элемента
monitor=monitor->next;// просчитать все элементы до указанного и вывести
while(monitor)
{ cout<<"=================================="<<endl;
cout<<" Класс: "<<monitor->izgotovitel<<endl;// передаём полученные значения на экран
cout<<" Изготовитель: "<<monitor->clasoboev<<endl;
cout<<" Цвет: "<<monitor->Cvet<<endl;
cout<<" Колличество: "<<monitor->Kollichestvo<<endl;
cout<<" Цена: "<<monitor->Cena<<endl;
cout<<" Дата заказа: "<<monitor->Zakaz<<endl;
cout<<" Дата доставки: "<<monitor->dostavka<<endl;
cout<<"=================================="<<endl;
cout<<endl;
break; }
}
string clas,koll,cen,cv,izg,Zak,dos;
int znachenie,znachenie2,znachenie3;
bool flag, flags;// флаги для выхода из цикла
int _tmain(int argc, _TCHAR* argv[])
{ BASA elem;// создать елемент структуры
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
do
{ flag=0;
cout<<endl;
cout<<"|----------------------------------------"<<endl;
cout<<"|Выберите действие: "<<endl;
cout<<"|Ввод данных 1: "<<endl;
cout<<"|Вывод данных 2: "<<endl;
cout<<"|Просмотр конкрет. элемента 3: "<<endl;
cout<<"|Удаление по порядку 4: "<<endl;
cout<<"|Удалить всё cразу 5: "<<endl;
cout<<"|Выход 0: "<<endl;
cout<<"|----------------------------------------"<<endl;
cin>>znachenie;
switch(znachenie)
{case 1:
cout<<endl;
cout<<"=================================="<<endl;
cout<<"Выерете класс обоев "<<endl;
cout<<"1. Бумажные обои: "<<endl;
cout<<"2. Виниловые обои: "<<endl;
cout<<"3. Текстильные обои: "<<endl;
cout<<"4. Пробковые обои: "<<endl;
cout<<"0. Вернуться: "<<endl;
cout<<"=================================="<<endl;
cin>>znachenie2;
if (znachenie2==0) break;
if (znachenie2==1) clas=" Бумажные обои";
if (znachenie2==2) clas=" Виниловые обои";
if (znachenie2==3) clas=" Текстильные обои";
if (znachenie2==4) clas=" Пробковые обои";cout<<endl;
cout<<"------------------------------------------"<<endl;
cout<<" Ваш выбор "<<clas<<endl;
cout<<" Выберете изготовителя: "<<endl;
cout<<"1 FINE-DECOR: "<<endl;
cout<<"2 JOHN VILMAN: "<<endl;
cout<<"3 SHAND KYDD: "<<endl;
cout<<"4 CROWN: "<<endl;
cout<<"5 cen: "<<endl;
cout<<"6 QUALITY: "<<endl;
cout<<"7 FlNE ART WALLCOVERING: "<<endl;
cout<<"8 FORBO-LANCASTER: "<<endl;
cout<<"0. Вернуться: "<<endl;
cout<<"------------------------------------------"<<endl;
cin>>znachenie3;
if (znachenie3==0) break;
if (znachenie3==1) izg="FINE-DECOR";
if (znachenie3==2) izg="JOHN VILMAN";
if (znachenie3==3) izg="SHAND KYDD";
if (znachenie3==4) izg="CROWN";
if (znachenie3==5) izg="cen";
if (znachenie3==6) izg="QUALITY";
if (znachenie3==7) izg="FlNE ART WALLCOVERING:";
if (znachenie3==8) izg="FORBO-LANCASTER";
cout<<endl;
cout<<"|----------------------------------------------|"<<endl;
cout<<"|вы выбрали "<<izg<<endl;
cout<<"|Введите цвет: "; cin>>cv;
cout<<"|Введите кол-во: ";cin>>koll;
cout<<"|Введите цену: ";cin>>cen;
cout<<"|Введите дату заказа: "; cin>>Zak;
cout<<"|Введите дату доставки: ";cin>>dos;
cout<<"|----------------------------------------------|"<<endl;
elem.znachenie(cv, koll, cen, clas, izg, Zak,dos);//присваеваем значения полученные при вводе элементу
flags=1; break;
case 2: elem.vivodim();break;
case 3: elem.vivodimTwo(); break;
case 4: elem.Delete(); break;
case 5: elem.DeleteAll(); break;
case 0: flag=1; exit; break;
default: cout<<"Непредусмотренный символ"<<endl; break; }
}
while(flag!=1);
return 0;
}
Заключение
В курсовом проекте были изучены основы системы программирования Visual Studio 2012. В ходе выполнения курсовой работы разработана программа на языке программирования C++ для обработки данных типа запись. Обработка данных включает:
· Добавление сведений о каждом устройстве;
· Удаление сведений о выбранном устройстве;
· Вывод сведений об устройствах;
При разработке данной программы использовались функции, циклы, условия. Разработанная программа позволяет повысить эффективность обработки данных и сократить время на поиск необходимых записей.
Список использованной литературы
1. Т. А. Павловская - Программирование на C, C++, 2010.
2. Фурсов В.И. C++ для начинающих, 2012.
Размещено на Allbest.ru
Подобные документы
Критерии классификации баз данных. Использование C++ - компилируемого, статически типизированного языка программирования общего назначения. Этапы разработки специализированного прикладного программного обеспечения - базы данных "Прохождение практики".
курсовая работа [1,4 M], добавлен 11.12.2015Термины "логический" и "физический" как отражение различия аспектов представления данных. Методы доступа к записям в файлах. Структура систем управления базами данных. Отличительные особенности обработки данных, характерные для файловых систем и СУБД.
лекция [169,7 K], добавлен 19.08.2013Учет товаров, контроль их срока хранения на складах фирмы как предметная область проектируемой базы данных "Хранение товаров". Содержание основных запросов базы данных. Методы сортировки массива данных - пузырька, цифровой сортировки и деревьев сравнений.
контрольная работа [3,4 M], добавлен 12.02.2014Базы данных как совокупность структур, предназначенных для хранения больших объемов информации и программных модулей. Основные особенности создания базы данных автобусного парка, анализ этапов проектирования. PHP как скриптовый язык программирования.
курсовая работа [1,9 M], добавлен 04.04.2013База данных для ЗАО "ФК "Зенит", предназначенная для хранения и обработки данных о работниках клуба, его бюджете и результатах участия в соревнованиях. Разработка предварительных отношений и пользовательского интерфейса. Структура таблиц базы данных.
курсовая работа [4,4 M], добавлен 10.12.2011C++ как компилируемый статически типизированный язык программирования общего назначения. История стандартов и необъектно-ориентированные возможности. Объектно-ориентированные особенности языка. Константные функции-члены, наследование и инкапсуляция.
курсовая работа [192,9 K], добавлен 27.07.2014Разработка автоматизированной информационно-справочной системы хранения и обработки информации оптового склада, которая способствует быстрому поиску необходимых данных. Создание таблиц и базы данных. Добавление и удаление данных в записной книжке.
курсовая работа [1,0 M], добавлен 08.12.2014Эволюция концепций баз данных. Требования, которым должна удовлетворять организация базы данных. Модели представления данных. Язык SQL как стандартный язык баз данных. Архитектуры баз данных. Среда Delphi как средство для разработки СУБД.
дипломная работа [278,9 K], добавлен 26.11.2004Модели информационного процесса обработки данных. Классификация баз данных. Сеть архитектуры и технология клиент-сервер. Создание запросов к реляционным базам данных на SQL. Работа с электронными таблицами MS Excel: форматирование данных, вычисления.
контрольная работа [17,8 K], добавлен 17.01.2010Определение базы данных и банков данных. Компоненты банка данных. Основные требования к технологии интегрированного хранения и обработки данных. Система управления и модели организации доступа к базам данных. Разработка приложений и администрирование.
презентация [17,1 K], добавлен 19.08.2013