Разработка программы обработки массива данных с построением диаграммы (предметная область-«Меню»)

Автор работы: Пользователь скрыл имя, 11 Марта 2013 в 21:13, курсовая работа

Описание работы

Система программирования Turbo Pascal, разработанная американской корпорацией Borland, является одной из самых популярных систем программирования в мире. Пакет Borland Pascal 7.0 учитывает многие новейшие достижения в программировании и практике создания программ( в том числе программ обработки статистических данных) и включает в себя три режима работы: в обычном режиме операционной системы MS DOS, в защищенном режиме MS DOS и в среде Windows. Обладая расширенными возможностями, пакет Borland Pascal 7.0 тем не менее требует для использования всех своих возможностей довольно большую память – примерно 30 Мбайт на жестком диске и не менее 2 Мбайт оперативной памяти.

Содержание работы

Министерство образования РФ 1
Введение 5
1 Постановка задачи на разработку программы 6
2 Состав и структура исходных данных и результатов 7
3 Методы решения задач 9
4 Описание программы 11
5 Методика отладки программы 12
6 Руководство пользователя 15
Заключение 19
Литература 20
ПРИЛОЖЕНИЕ A. Схема программы 30
ПРИЛОЖЕНИЕ Б. Текст программы 33
ПРИЛОЖЕНИЕ В. Результаты работы программы 43

Файлы: 1 файл

Kursovoi.doc

— 606.50 Кб (Скачать файл)

            Readln(nazv);                                                    

           {$i-}                                                             

           M5:Write( ' Введите вес блюда: ');                                

           Readln(Ves);                                                      

          if ves<0 then                                                      

           begin                                                             

           writeln ('Данные введены неверно,  повторите ввод');               

           goto M5;                                                          

           end;                                                              

         M6:Write( ' Введите цену блюда: ');                                 

         Readln(cena);                                                       

         if ioresult<>0   then                                               

          begin                                                              

           writeln('Данные введены неверно, повторите ввод');                

           goto M6;                                                          

         end;                                                                

        {$i+}                                                                

        if cena<0 then begin                                                 

         writeln('Данные введены неверно,  повторите ввод');                  

         goto M6;                                                            

        end;                                                                 

        Skid:=Cena-cena*0.1;                                                 

        Writeln('Цeна со скидкой: ',skid:9:2);                               

       end;                                                                  

i:=n+1;                                                                      

repeat {цикл смещения  всех записей массива М, начиная  с n+1 на единицу вниз} 

M[i+1]:=M[i];                                                                

i:=i-1                                                                       

until                                                                        

i = n1; {номер строки,после которой вставка}                                 

M[n1+1]:=Elem1; {Вставка  элемента массива Elem1 в заданное  место массива М}  

Vivod;                                                                       

end;                                                                         

end;                                                                         

                                                                             

Procedure Udalenie;  {процедура удаления выбранного элемента массива}        

LABEL M9;                                                                    

var                                                                          

way:string;                                                                  

  begin                                                                      

clrscr;  {вызов процедуры очистки экрана}                                    

if(n=0) then                                                                 

     begin                                                                   

writeln('Cписок  не содержит записей, для корректной  работы выполните ввод'); 

writeln('        нажмите Enter  для перехода в  меню');                       

exit;                                                                        

    end                                                                      

  else                                                                       

        begin                                                                

writeln('╔════════════════════════════════════════════════════════╗');

writeln('║                                МЕНЮ                                                                                                                                  ║');

writeln('╠═══╦════════════════╦══════╦═════════════╦══════════════╣');

writeln('║ №   ║   Название блюда              ║   Вес            ║  Цена(руб.)                 ║ Цена со скидкой           ║');

writeln('║        ║                                                ║                      ║                                      ║   10% (руб.)                      ║');

writeln('╠═══╬═══════════════╬═══════╬════════════╬══════════════╣');

for i:=1 to n do                                                            

begin                                                                        

writeln('║',i:3,'║',     M[i].nazv:19,'               ║',M[i].Ves:10,'║',M[i].Cena:12:2,'    ║',M[i].skid:17:2                  ║’);

  end;                                                                       

writeln('╚═══╩═══════════════╩══════════╩════════════╩════════════╝');

     end;                                                                  

{$I-}                                                                        

M9: writeln ('Введите название блюда, которое хотите удалить');              

readln(Elem1.nazv);                                                          

if ioresult<>0  then                                                         

    begin                                                                    

writeln('Данные  введены неверно, повторите ввод');                           

goto M9;                                                                     

  end;                                                                      

{$i+}                                                                        

    for i:=1 to n do                                                         

    begin                                                                    

    mz:=m[i];                                                                

    if Elem1.nazv=mz.nazv then                                               

       begin                                                                 

       del:=i;                                                               

       pn:=1;{pn-признак нахождения элемента  массива записей}                

       end;                                                                  

     end;                                                                    

     if pn<>1 then                                                           

        begin                                                                

        Writeln('Запись не найдена, повторите ввод');                        

        writeln('Нажмите Enter для перехода  в меню');                        

        exit;                                                                

        end                                                                  

              else                                                           

        begin                                                                

        for i:=del to n do                                                   

        m[i]:=m[i+1];                                                        

        n:=n-1;                                                              

        end;                                                                 

writeln('Запись удалена');                                                   

                                                                             

 begin                                                                       

writeln('        Нажмите Enter для перехода в меню');                        

end;                                                                         

end;                                                                         

                                                                             

Procedure Poisk;  {процедура поиска выбранного элемента массива записей}     

label M10;                                                                   

begin                                                                        

clrscr;                                                                      

if(n=0) then                                                                 

begin                                                                        

writeln('Cписок   не содержит записей, для корректной работы выполните ввод');

writeln('        Нажмите Enter для перехода в  меню');                        

exit;                                                                        

end;                                                                         

begin                                                                        

M10:writeln('Введите  название блюда, запись о котором  Вы хотите найти');     

readln(Elem1.nazv);                                                          

i:=1;                                                                        

repeat                                                                       

if Elem1.nazv<>m[i].nazv then inc(i)                                        

Until Elem1.nazv=m[i].nazv;                                                 

if Elem1.nazv<>m[i].nazv then                                               

   begin                                                                     

   Writeln('Запись не найдена, повторите ввод') ;                            

  writeln('        Нажмите любую клавишу  для  перехода в меню');            

   readkey;                                                                  

   exit                                                                      

   end;                                                                      

   writeln('Запись найдена');                                                

   writeln('Результаты поиска:');                                            

writeln('╔═════════════════════════════════════════════════════════╗');

writeln('║                                МЕНЮ                                                                                                                                     ║');

writeln('╠═══╦════════════════╦════════╦════════════╦══════════════╣');

writeln('║ №   ║   Название блюда               ║   Вес                ║  Цена(руб.)                ║ Цена со скидкой            ║');

writeln('║        ║                                                  ║                          ║                                     ║   10% (руб.)                      ║');

writeln('╠═══╬════════════════╬════════╬════════════╬══════════════╣');

for i:=1 to n do                                                            

begin                                                                        

writeln('║',i:3,'║',     M[i].nazv:19,'               ║',M[i].Ves:10,'║',M[i].Cena:12:2,'    ║',M[i].skid:17:2                        ║’);

  end;                                                                       

writeln('╚═══╩═══════════════╩══════════╩════════════╩══════════════╝');

                                                                             

begin                                                                        

Информация о работе Разработка программы обработки массива данных с построением диаграммы (предметная область-«Меню»)