Написание программы на языке Borland C++, которая работает под ОС MS-DOS и ее краткая характеристика

Страницы работы

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

Программа и ее краткая характеристика.

Данная программа написана на языке Borland C++ и работает под ОС MS-DOS. При ее написании была учтена возможность легкого изменения различных пользовательских параметров программы, таких как цвета, структура меню. Для вызова меню используется клавиша F10, для перемещения подменю - курсорные клавиши (стрелки), для исполнения пункта меню – клавиша Enter. С помощью клавиши F8 производится вызов помощи. Выход из программы – клавиша F9. При исполнении какого-либо листового пункта меню на экран выводится сообщение, в котором указывается, какой именно пункт меню выполняется.

Ниже приведен текст данной программы с комментариями.

Menu1.

#include <graphics.h>

#include <string.h>

#include <stdio.h>

#include <conio.h>

#include <iostream.h>

#define null 0

#define s 122     //длина ячейки меню по Х

#define sh 25     //ширина ячейки меню по Y

#define fon 13     //цвет фона

 //-------------Названия пунктов меню -----------------------------

 char *versh[23][5]={{"   Menu 1   ","   Menu 2   ","   Menu 3   ","  Menu 4   ","   Menu 5   "},

           {"   Menu 1.1>","   Menu 1.2>","   Menu 1.3","",""},

           {"   Menu 2.1","   Menu 2.2","   Menu 2.3>","   Menu 2.4>",""},

           {"   Menu 3.1>","   Menu 3.2>","   Menu 3.3","   Menu 3.4","   Menu 3.5>"},

           {"   Menu 4.1","   Menu 4.2>","","",""},

           {"   Menu 5.1>","   Menu 5.2>","   Menu 5.3","",""},

           {"   Menu 1.1.1","   Menu 1.1.2","   Menu 1.1.3","",""},

           {"   Menu 1.2.1","   Menu 1.2.2","   Menu 1.2.3","   Menu 1.2.4",""},

           {"   Menu 2.3.1","   Menu 2.3.2","","",""},

           {"   Menu 2.4.1","   Menu 2.4.2","   Menu 2.4.3","   Menu 2.4.4","   Menu 2.4.5"},

           {"   Menu 3.1.1","   Menu 3.1.2","   Menu 3.1.3","   Menu 3.1.4",""},

           {"   Menu 3.2.1","   Menu 3.2.2","   Menu 3.2.3","   Menu 3.2.4","   Menu 3.2.5"},

           {"   Menu 3.5.1","   Menu 3.5.2","","",""},

           {"   Menu 4.2.1","   Menu 4.2.2","   Menu 4.2.3","   Menu 4.2.4",""},

           {"   Menu 5.1.1","   Menu 5.1.2","   Menu 5.1.3","",""},

           {"   Menu 5.2.1","   Menu 5.2.2","   Menu 5.2.3","   Menu 5.2.4","   Menu 5.2.5"},

             };

 //----------------- Структура Меню ----------------

 struct tree{

 int x,y;    // координаты  пункта на экране

 tree *next,*pred,*up,*doun; // Ссылки на соседние пункты меню

 char *text; // Название пункта

 };

 //--------- Функция создания уровня меню ---------------

 tree *menu(tree *koren,int n, int xc, int yc,char *st[])

  { tree *stvol,*list;

    list=null;list=new tree;list->up=koren;

    list->doun=null;

    stvol=list;

    stvol->x=xc; // создается первый пункт

    stvol->y=yc;

    stvol->text=st[0];

    for(int i=1;i<n;i++)

      { list->next=new tree;list->next->pred=list;// Создаются остальные

      list=list->next;list->up=koren;list->doun=null;// пункты уровня

      list->x=xc;list->y=yc+sh*i;list->text=st[i]; }

    stvol->pred=list;list->next=stvol;

    return(stvol);

  }

 tree *makemenu() // Функция создания дерева меню

  { tree *list;

   int xfir=13,yfir=13;   //координаты начала меню по X,Y

     //---------- Строится первый уровень

     list=null;list=menu(list,5,xfir,yfir,versh[0]);

    //---------- Строится второй уровень

    list->doun=menu(list,3,xfir,yfir+sh+2,versh[1]);

    list->next->doun=menu(list->next,4,xfir+s,yfir+sh+2,versh[2]);

Похожие материалы

Информация о работе