- •Министерство культуры российской федерации
- •Фгоу впо «пермский государственный институт искусства и культуры
- •Факультет документально-информационных коммуникаций
- •Кафедра информатики и информационных технологий
- •Содержание
- •Введение
- •Терминология
- •Для чего нужны Базы Данных?
- •Описание процедур и функций
- •Текст программы
- •Заключение
- •Список использованной литературы
- •Приложения
Текст программы
#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;
}