Рефераты. Создание справочника "Парфюмерный магазин" при помощи программы Turbo Pascal

                                 

 


                                  PageDown                                           PageUp


 


                                                                                ESC


 






Схема 9 – Вывод товара на экран























Схема 10 – Вывод общего количества товаров


 

















                                                                                                          

 






Схема 11 – Найти первый товар






 

















Схема 12 – Добавить код товара в список


















                                          Да

                                                                                               


       нет


 











Схема 13 – Поиск следующего товара

 



























                                                                                             Нет

 



                                            Да

 














Схема 14 – Добавление нового товара












                                                                                              Нет

 



                                                    Да

 





































Схема 15 – Удаление товара




 






                             По товару                                                По подразделу

 

























Схема 16 – Отчет по товарам


















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


program parfum;

uses crt;

  type       {Список в котором содержатся код товаров}

  integ=^int;

  int=record

      nomer:integer; {Код товара}

      next:integ;    {Ссылка на следующий элемент}

    end;


var Nach:integ; {Начало списка}

    tek:integ; {Текущий элемент списка}

    d:integ;   {Переменная для работы со списком}

    i:integer; {Счетчик}

    ch:char; {Ввод с клавиатуры}

    Rozd:string; {Выбранный раздел}

    nabor:integer; {Счетчик числа элементов меню}

    men:array[1..16] of integer;{Массив вывода элементы Главного меню}

    strok, stolb:integer;{Пункты меню}

    lom:integer; {Переменная для работы с Главным меню}

    vof:boolean; {Переменная указывает что массив цветов уже заполнен}

    Razdel:integer;{Переменная которая указывает открытую главу}

    PodRazd:integer; {Переменная которая указывает открыт подраздел}

    MRazdel:integer; {Переменная которая указывает открыт раздел}

    stek:text;{Файл в который добавляется код товара}

    {KodStek:integer;}

    ScetRP:integer; {Счетчик позиций в указанном разделе и подразделе}

    hod:integer; {Ходы вверх вниз в списке}

    kolvo:integer; {Количество элементов в списке}

    Text1,Text2,Text3,Text4:string[19]; {Комментарии}

    f:text; {Файловая переменная}

    f1,f2,f3,f4,f8,pd,pu,f10:integer; {Цвета пунктов внизу экрана}

    Prin:boolean;{логическая переменная для печать текущей позиции}



 Baza:record                 {Переменные для работы с файлами}

       Fsim:string;          {Символ-разделитель}

       FKod:integer;         {Код товара}

       FRazdel:integer;      {Раздел}

       FPodRazdel:integer;   {Подраздел}

       FName:String;         {Название}

       FSeria:string;        {Серия}

       FProizvod:string;     {Производитель}

       FOpisan:string;       {Описание товара}

       FMany:string;         {Цена}

 end;


procedure shapka;  {Выводит разметку на экран, а именно горизонтальные и

                   вертикальные линии и кнопки управления внизу экрана,

                   а так же заголовок раздела и подраздела}

var MainName:string; {Название подраздела}

begin

GoToXY(30,1); Textcolor(14);

GoToXY(1,2);  Textcolor(11); For i:=1 to 80 do write('-');

   for i:=3 to 21 do

   begin

       GoToXY(20,i);  Textcolor(11); writeln('|');

   end;

   GoToXY(1,22); For i:=1 to 80 do write('-');

   GoToXY(1,23); Textcolor(F1); writeln('Помощь F1|');

   GoToXY(11,23); Textcolor(F2); writeln('Новый F2|');

   GoToXY(20,23); Textcolor(f3); writeln('Поиск F3|');

   GoToXY(29,23); Textcolor(f4); writeln('Отчет F4|');

   GoToXY(38,23); Textcolor(f8); writeln('Удалить F8|');

   GoToXY(49,23); Textcolor(pu); writeln('Назад PUp|');

   GoToXY(59,23); Textcolor(pd); writeln('Далее PDown|');

   GoToXY(71,23); Textcolor(f10); writeln('Выход F10');

   GoToXY(1,24); For i:=1 to 80 do write('-');

   GoToXY(1,17);  Textcolor(11); writeln('-------------------');

   if rozd='0'Then MainName:='ПАРФЮМЕРНЫЙ МАГАЗИН';

   if rozd='1'Then MainName:='УХОД ЗА ЛИЦОМ';

   if rozd='2'Then MainName:='УХОД ЗА КОЖЕЙ';

   if rozd='3'Then MainName:='ДЕТСКИЕ ТОВАРЫ';

   if rozd='4'Then MainName:='МАНИКЮР';

   if rozd='5'Then MainName:='ПАРФЮМЕРИЯ';

   if rozd='6'Then MainName:='УХОД ЗА ТЕЛОМ';

   if rozd='7'Then MainName:='ТОВАРЫ ДЛЯ МУЖЧИН';

   if rozd='8'Then MainName:='УХОД ЗА ВОЛОСАМИ';

   if rozd='9'Then MainName:='ДРУГИЕ ТОВАРЫ';

   GoToXY(30,1);  Textcolor(13);writeln(MainName);

   GoToXY(1,18);   Textcolor(12); writeln(Text1);

   GoToXY(1,19);  Textcolor(12); writeln(Text2);

   GoToXY(1,20);  Textcolor(12); writeln(Text3);

   GoToXY(1,21);  Textcolor(12); writeln(Text4);

end;


procedure podRazdel;  {Считывает из файла разделы и подразделы в

                      зависимости от выбранного и выводит на экран}

var PodRaz:array[1..16] of string;{Массив разделов и под разделов}

    z:integer; {Строка с которой начинается вывод пунктов меню}

    f:text;    {Файловая переменная}

    d:string;  {Переменная которой присваивается очередное считанное значение из файла}


begin

assign (f,'e:\prog\razdel.dat'); {Файл который содержит разделы и подразделы}

reset(f);

nabor:=0;

       while not Eof(f) do

       {До тех пор пока не конец файла делать

       если очередная строка файла соответствует выбранному разделу то

       записать ее в массив}

       begin

            Readln(f,d);

            if d=rozd then

            begin

                 nabor:=nabor+1;

                 Readln(f,d);

                 PodRaz[nabor]:=d;

            end

            else Readln(f,d);

       end;

close(f);

   {Вывод на экран пунктов и подпунктов меню из массива, закрашенных цветами

   из массива цветов}

   z:=3;

   for i:=1 to nabor do

   begin

        Textcolor(men[i]);

        GoToXY(2,z);

        writeln(PodRaz[i]);

        z:=z+1

   end;


end;


procedure ADDSpisok;{Добавляет в динамический список код товара, для

                               дальнейшего перемещения}

begin

      new(tek); {создаем новый элемент}

      tek^.nomer:=Baza.FKod;{записываем данное}

      tek^.next:=nach;{устанавливаем указатели}

      nach:=tek;   {для поддержания целостности списка}

      kolvo:=kolvo+1; {Увеличиваем количество добавленных элементов}

end;


procedure Tablo;

{Процедура выводит позиции товаров на экран}

var  opis1,opis2,opis3:string; {Разбивает строку на три части т.к. не влезает}

begin

Страницы: 1, 2, 3, 4, 5, 6, 7, 8



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.