国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

菜單程序

2019-11-17 05:46:20
字體:
供稿:網(wǎng)友
#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include <bios.h>
#include "head.h"#define FALSE 0
#define TRUE 1
#define START 1
#define LEFTSHIFT 2
#define RIGHTSHIFT 3
#define ENTER 4
#define EXIT 5
#define UP 6
#define DOWN 7typedef strUCt{              /*菜單的數(shù)據(jù)結(jié)構(gòu)*/
    int menuID;
    char MenuName[10];
    int itemCount;
    char itemName[4][14];
}menu;void *saveImage;       /*保存菜單覆蓋的區(qū)域*/int mHeight,mWidth;          /*窗口高,寬*/
int mutex=0;menu MainMenu[]=},
         },
  },
         },
         },
         },
         },
         },
         }  };
void showItems(int NewID)                 /*顯示*/
{
    int LL,TT,j;
    LL=mWidth*NewID+50;
    TT=40;
    saveImage=malloc(imagesize(LL,31,LL+mWidth+30,70+25*(MainMenu[NewID].itemCount)));
    getimage(LL,31,LL+mWidth+30,70+25*(MainMenu[NewID].itemCount),saveImage);
    setcolor(7);
    setfillstyle(1,7);
    rectangle(LL,31,LL+mWidth+30,31+30*(MainMenu[NewID].itemCount));
    floodfill(LL+3,33,7);
    setcolor(1);
    rectangle(LL+5,36,LL+mWidth+25,26+30*(MainMenu[NewID].itemCount));
    hz(LL+15,TT,16,1,4,MainMenu[NewID].itemName[0]);
    hz(LL,8,16,1,1,MainMenu[NewID].MenuName);
    for(j=1;j<(MainMenu[NewID].itemCount);j++)
    {
    TT=TT+25;
    hz(LL+15,TT,16,1,1,MainMenu[NewID].itemName[j]);
    }
}
void init()
{
   int gdriver,gmode;
   gdriver=DETECT;
   initgraph(&gdriver,&gmode,"g:/TURBOC2");
   if ((fp=fopen("hzk16","rb"))==NULL)
  {     getch(); closegraph(); exit(0);
  }
}

initm()
{
   int L,T,R,B,i;
   mWidth=60;
   mHeight=20;
   L=50;  T=8;  R=mWidth+L;  B=mHeight+T;
   setcolor(7);
   setfillstyle(1,7);
   rectangle(0,0,640,30);
   floodfill(3,25,7);
   setcolor(1);
   setfillstyle(1,1);
   rectangle(0,31,640,449);
   floodfill(3,300,1);
   setcolor(7);
   setfillstyle(1,7);
   rectangle(0,450,640,480);
   floodfill(3,459,7);
   setcolor(15);
   line(0,35,640,35);
   line(0,38,640,38);
   line(0,445,640,445);
   line(0,442,640,442);
   hz(170,165,80,3,14,"數(shù)據(jù)結(jié)構(gòu)");
   hz(180,240,25,1,12,"(版權(quán)所有,隨便拷貝)");
   hz(L,T,16,1,4,MainMenu[0].MenuName);     /*red*/
   L=R;  R=mWidth+L;
   for(i=1;i<9;i++)
   {
       hz(L,T,16,1,1,MainMenu[i].MenuName); /*blue*/
       L=R;  R=R+mWidth;
   }
}void process(int OldID,int NewID)       /*主菜單移動*/
{
   int L,T;
   L=50+mWidth*OldID;
   T=8;
   hz(L,T,16,1,1,MainMenu[OldID].MenuName);
   L=50+mWidth*NewID;
   hz(L,T,16,1,4,MainMenu[NewID].MenuName);
}void process3(int OldID,int NewID,int m)       /*子菜單移動*/
{
   int LL,TT;
   LL=50+mWidth*m;
   TT=40+OldID*25;
   hz(LL+15,TT,16,1,1,MainMenu[m].itemName[OldID]);
   TT=40+NewID*25;
   hz(LL+15,TT,16,1,4,MainMenu[m].itemName[NewID]);
}
process1(int d)             /* 退出 */
{
   if(d==2) exit(1);
}main()
{
    int OldID,NewID,head,tail,selectID,quit,c;
    int OldID1,NewID1,head1,tail1;
    head=0;  tail=8;
    OldID=0;  NewID=0;
    OldID1=0;  NewID1=0;
    head1=0;
    quit=0;
    init();
    initm();
    while(!quit)
    {
    while(bioskey(1)==0);
    c=bioskey(0);
    if(c==17400) selectID=START;
    else if(c==19200) selectID=LEFTSHIFT;
    else if(c==19712) selectID=RIGHTSHIFT;
    else if(c==7181) selectID=ENTER;
    else if(c==283) selectID=EXIT;
    else if(c==20480) selectID=DOWN;
    else if(c==18432) selectID=UP;
    else selectID=NULL;
    switch (selectID)
    {
       case START:
           OldID=NewID;
           NewID=0;
           process(OldID,NewID);
           break;
       case LEFTSHIFT:
           if(mutex==0)
           {
            if(NewID==head)
            {
              OldID=NewID;
              NewID=tail;
            }
            else
            {
              OldID=NewID;
              NewID--;
            }
            process(OldID,NewID);
           }
           break;
       case RIGHTSHIFT:
           if(mutex==0)
           {
            if(NewID==tail)
            {
             OldID=NewID;
             NewID=head;
            }
            else
            {
             OldID=NewID;
             NewID++;
            }
           process(OldID,NewID);
           }
           break;
        case ENTER:
           if(mutex==0)
           {
           showItems(NewID);
           mutex=1;
           tail1=MainMenu[NewID].itemCount-1;
           }
           else
           process1(NewID);
           break;
        case EXIT:
           if(mutex!=0)
           {
           putimage(mWidth*NewID+50,31,saveImage,COPY_PUT);
           hz(mWidth*NewID+50,8,16,1,4,MainMenu[NewID].MenuName);
           mutex=0;
           }
           else
           quit=TRUE;
           break;
        case DOWN:
           if(mutex==1)
           {
         if(NewID1==tail1)
      {
             OldID1=NewID1;
             NewID1=head1;
      }
         else
      {
             OldID1=NewID1;
             NewID1++;
      }
         process3(OldID1,NewID1,NewID);
     }
        break;
        case UP:
          if(mutex!=0)
          {
           if(NewID1==head1)
           {
          OldID1=NewID1;
          NewID1=tail1;
           }
           else
           {
           OldID1=NewID1;
           NewID1--;
           }
           process3(OldID1,NewID1,NewID);
          }
           break;
        default: break;
      }
       }
    getch();
    closegraph();}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 共和县| 靖宇县| 山西省| 兴义市| 汶上县| 资源县| 蒲江县| 陇川县| 布尔津县| 汕头市| 美姑县| 南溪县| 石阡县| 梓潼县| 沈丘县| 东乌珠穆沁旗| 泾源县| 手游| 宁河县| 定西市| 横峰县| 乌兰县| 固始县| 封丘县| 施秉县| 博野县| 丹寨县| 永清县| 霍州市| 武安市| 昭觉县| 大宁县| 武隆县| 无棣县| 新郑市| 扎鲁特旗| 南岸区| 南岸区| 武汉市| 吉安县| 许昌县|