⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 菜单程序.txt

📁 这里是C语言与数据结构的课程设计与实验的程序,以及一些程序的原代码.
💻 TXT
字号:
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define key_down 80
#define key_up 72
#define key_esc 1
#define key_alt_f 33
#define key_alt_x 45
#define key_enter 28
int get_key();
void box(int xx,int yy,int hight,int width);
main()
{int i,key,x,y,l;
char *menu[]={"File","Edit","Run","Options","Help","Setup","Zoom","Menu"};
char *red[]={"F","E","R","O","H","S","Z","M"};
char *f[]={"New    ",
    "Open   ",
    "Print  ",
    "Zoom   ",
    "Quit   ",};
char buf[16*10*2],buf1[16*2];
textbackground(1);
clrscr();
textmode(C80);
window(1,1,80,1);
textbackground(15);
clrscr();
window(1,1,80,2);
for(i=0,l=0;i<8;i++)
   {
    x=wherex();
    y=wherey();
    cprintf("    %s",menu[i]);
    l=strlen(menu[i]);
    gotoxy(x,y);
    textcolor(RED);
    cprintf("    %s",red[i]);
    x=x+l+4;
    gotoxy(x,y);
    textcolor(BLACK);}
    while(1)
    {
     key=0;
     while(bioskey(1)==0);
     key=get_key();
     if(key==key_alt_x)exit(0);
     if(key==key_alt_f)
       {
 textbackground(0);
 textcolor(15);
 gotoxy(4,1);
 cprintf("%s",menu[0]);
 gettext(4,2,19,12,buf);
 window(4,2,19,8);
 textbackground(15);
 textcolor(0);
 clrscr();
 window(4,2,19,9);
 box(1,1,7,16);
 for(i=2;i<7;i++)
    {gotoxy(2,i);
     cprintf("%s",f[i-2]);
    }
 gettext(2,2,18,3,buf1);
 textbackground(0);
 textcolor(15);
 gotoxy(2,2);
 cprintf("%s",f[0]);
 y=2;
 key=get_key();
 while(key!=key_alt_x&&key!=key_enter&&key!=key_esc);
   {
    if(key==key_up||key==key_down)
      {puttext(2,y,18,y+1,buf1);
       if(key==key_up)y=y==2 ? 6: y-1;
       if(key==key_down)y=y==6 ? 2: y+1;
       gettext(2,y,18,y+1,buf1);
       textbackground(0);
       textcolor(15);
       gotoxy(2,y);
       cprintf("%s",f[y-2]);
      }
  key=get_key();
 }
   if(key==key_alt_x)exit(0);
   if(key==key_enter)
     {switch(y-1)
         {case 1:break;
          case 2:break;
          case 3:break;
          case 4:break;
          case 5:exit(0);
          default:break;
      }
       }
else
   {window(1,1,80,2);
    puttext(4,2,19,12,buf);
    textbackground(15);
    textcolor(0);
    gotoxy(4,1);
    cprintf("%s",menu[0]);
   }
}
}
}
int get_key()
{union REGS rg;
 rg.h.ah=0;
 int86(0x16,&rg,&rg);
 return rg.h.ah;
}
void box(int xx,int yy,int hight,int width)
 {int i;
 gotoxy(xx,yy);
 putch(0xda);
 for(i=xx+1;i<width;i++)
 putch(0xc4);
 putch(0xbf);
 for(i=yy+1;i<hight;i++)
    {gotoxy(xx,i);putch(0xb3);
     gotoxy(width,i);putch(0xb3);
    }
 gotoxy(xx+1,width);
 putch(0xc0);
 for(i=xx+1;i<width;i++) putch(0xc4);
 putch(0xd9);
 return; 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -