#include<dos.h>
#include<io.h>
#include<fcntl.h>
//*********************************************************************//
void rama(int,int,int,int,char,char*);
void help(char c);
void clear_okno();
int go_menu(int,int,int);
//*********************************************************************//
// ОПИСАНИЕ ПЕРЕМЕННЫХ //
int y[15],x[15],kol=4,i,j,x1,y1,m=5;
int k_y=-1;
char *s[]={" ********** ",
" ********** ",
" ********** "
" ********** "};
//*********************************************************************//
void help()
{
char c; char ch;
textbackground(YELLOW);
rama(19,19,64,22,' '," Подсказка ");
gotoxy(20,20); textcolor(11);
cprintf(" ESC - выход,Enter - выбор %c%c - перемещение",27,26);
}
//********************************************************************//
void rama(int x1,int y1,int x2,int y2,char ch, char *ms)
{ //Эта функция рисует
int kmsg=((x1+x2)/2)-strlen(ms)/2; //окно и ставит заголовок.
window(1,1,80,25); //Параметры функции:
textbackground(8); //x1,x2,y1,y2-координаты.
textcolor(15); //ch-символы заполнения.
int k=0; //(т.е. этими символами
gotoxy(x1,y1); //заполняется все окно)
cprintf("╔"); //ms-заголовок окна.
for(int i=x1+1;i<x2;i++) //
cprintf("═"); //
gotoxy(kmsg,y1); //
cprintf("%s",ms); //
gotoxy(x2,y1); //
cprintf("╗"); //
for(int j=y1+1;j<y2;j++) //
{ //
gotoxy(x1,j); //
cprintf("║"); //
for(k=x1+1;k<x2;k++) //
{ //
textcolor(15); //
cprintf("%c",ch); //
} //
textcolor(15); //
cprintf("║"); //
} //
gotoxy(x1,y2); //
cprintf("╚"); //
for(i=x1+1;i<x2;i++) //
cprintf("═"); //
gotoxy(x2,y2); //
cprintf("╝"); //
window(x1+1,y1+1,x2-1,y2-1);
}
//*********************************************************************//
void clear_okno()
{
window(2,2,78,24);
textbackground(11);clrscr();
textbackground(3);
rama(1,1,80,24,' ',"");
}
//*********************************************************************//
void procr(int x1,int y1,int kol)
{
_setcursortype(_NOCURSOR);
for(int i=0;i<kol;i++)
{
if (i==k_y)
{
textcolor(10);
cprintf("%s",s[i]); }
else
{
textcolor(6);
cprintf("%s",s[i]); }
}
return;
}
//*********************************************************************//
int go_menu(int x1, int y1, int kol)
{
int cc;
gotoxy(x1,y1+k_y-1);
gotoxy(x1,y1);
cc=getch();
if(cc==27) exit(1);
if(cc==13)
{
clear_okno();textbackground(0); textcolor(4);gotoxy(14,14);
cprintf("\n\n\nНажат ENTER!");
sleep(3); return 0;
}
cc=getch();
if(cc==0)
cc=getch();
switch(cc)
{
case 77:
if (k_y!=kol)
k_y=k_y+1;
else
k_y=0;
break;
case 75:
if(k_y!=0)
k_y=k_y-1;
else
k_y=kol;
break;
}
procr(x1,y1,kol);
go_menu(x1,y1,kol);
}
//*********************************************************************/
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.