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

📄 ͼ

📁 C语言相关程序
💻
字号:
#include <graphics.h> 
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <dos.h>
#include <conio.h>
#include <stdlib.h>
#include <alloc.h>
int openhzkc(char);
int puthz16c(int,int,int,int,int,int);
int getbitc(unsigned char,int);
int handle,handle1,flag1,testm,test1;
FILE *fp1;
main( )
{
char ch,s[1024],*str;
int gdriver,gmode,ii,ii1,x,y,fx,fy,color1;
int loop_font,loop_size;
/* 图形设备初始化*/
gdriver=DETECT;
initgraph(&gdriver,&gmode,"c:\\tc");
setbkcolor(LIGHTGREEN);
setcolor(RED);
int mainmenu( )/*主菜单*/
  {
    char c;
    int x,y,key,key1,key2,size,test,i;
    void *buffer;
    unsigned char *f[ ]={"命令  ","显示  ","生产  ","设备  ",
    "工艺","技术","维护  ","帮助  "};
    setcolor(12);
    rectangle(1,0,637,33);
    setfillstyle(1,3);
    floodfill(200,20,12);
    setcolor(LIGHTRED);
    setlinestyle(0,0,3);
    rectangle(1,0,637,479);
    c='f';
    openhzk(c);
    x=-12;
    for(i=0;i<=7;i++)
       x=puthz24(x+24,6,0,1,f[i]);
    close(handle);
    setcolor(12);
    size=imagesize(3,2,75,31);
    buffer=malloc(size);
    getimage(3,2,75,31,buffer);
    putimage(3,2,buffer,NOT_PUT);
    x=3;
    key1=0;
    while(key1!=13)
     {
       while(bioskey(1)==0);
       key1=key2=bioskey(0);
       key1=key1&0xff;
       key2=key2&0xff?0:key2>>8;
       if(key2==75||key2==77)
	{
	   putimage(x,2,buffer,COPY_PUT);
	   if(key2==77)x=x>=507?3:x+72;
	   if(key2==75)x=x<=3?507:x-72;
	   getimage(x,2,x+72,31,buffer);
	   putimage(x,2,buffer,NOT_PUT);
	   }
	 }
	   testm=(x-3)/72+1;
	   if(testm>=3)
	     {
	       testm=1;
	       test1=8;
	       free(buffer);
	       exit_flag=1;
	       return;
	      }
	   switch(testm)
	    {
	     case 1:
	       menu11( );
	       break;
	     case 2:
	       menu12();
	       break;
	     case 3:
	       cwin();
	       break;
	     case 4:
	       cdos();
	       break;
	     case 5:
	       cwin();
	       break;
	     case 6:
	       cwin();
	       break;
	     case 7:
	       cwin();
	       break;
	     case 8:
	       cwin();
	       break;
	}
	 free(buffer);
  }
int  cwin()
{
  do17();
  system("win");
  do11();
  do12();
  do14();
 }
int cdos()
{
  do17();
  system("upbat");
  do11();
  do12();
  do14();
}

int menu11()/* 子菜单*/
{
   unsigned char *f[]={"加监督","送日期","设备表","开机  ","停机  ",
			"停显示","退监督","退系统"};
    int x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6;
    x1=27;y1=35;
    x2=x1+5;y2=y1+5;
    x3=x2+5;y3=y2+5;
    x4=x3+24*3;y4=y3+20;
    x5=x4+5;y5=y3+8*20+5;
    x6=x5+5;y6=y5+5;
    submenu(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,f);
  }
int submenu(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4,int x5,
	   int y5,int x6,int y6,unsigned char *submf[])
 {
    int         h,t;
    int         i,y,key1,key2,size0,size1;
    void        *buf0,*buf1;
    char        c;
    h=y4-y3;
    t=(y5-y3)/20-1;
    size0=imagesize(x1,y1,x6,y6);
    buf0=malloc(size0);
    getimage(x1,y1,x6,y6,buf0);
    setcolor(12);
    rectangle(x1+1,y1+1,x6-1,y6-1);
    setfillstyle(1,12);
    floodfill(x1+2,y1+2,12);
    setcolor(3);
    setlinestyle(SOLID_LINE,0,1);
    rectangle(x2,y2,x5,y5);
    setfillstyle(1,3);
    floodfill(x2+2,y2+2,3);
    c='o';
    openhzk(c);
    for(i=0;i<=t;i++)
       puthz16(x3,i*h+y3,4,14,submf[i]);
    close(handle);
    size1=imagesize(x3,y3,x4,y4-4);
    buf1=malloc(size1);
    getimage(x3,y3,x4,y4-4,buf1);
    putimage(x3,y3,buf1,NOT_PUT);
    y=y3;key1=0;
    while(key1!=13&&key1!=27)
     {
     while(bioskey(1)==0);
      
      }
	key1=key2=bioskey(0);
	key1=key1&0xff;
	key2=key2&0xff?0:key2>>8;
	if(key2==72||key2==80)
	{
	  putimage(x3,y,buf1,COPY_PUT);
	  if(key2==72)y=y==y3?y5-h-5:y-h;
	  if(key2==80)y=y==y5-h-5?y3:y+h;
	  getimage(x3,y,x4,y+h-5,buf1);
	  putimage(x3,y,buf1,NOT_PUT);
	}
     }
     free(buf1);
     if(key1==13)test1=(y-y3)/h+1;
     if(key1==27)test1=0;
     putimage(x1,y1,buf0,COPY_PUT);
     free(buf0);
  }
/*打开汉字库*/
int openhzkc(char c)
{
   if(c=='s')
   handle=open("c:\\HZK24S",O_RDONLY|O_BINARY);
   if(c=='o')
   handle1=open("c:\\HZK16",O_RDONLY|O_BINARY);
   if(c=='t')
   handle=open("c:\\HZK24T",O_RDONLY|O_BINARY);
   if(c=='f')
   handle=open("c:\\HZK24F",O_RDONLY|O_BINARY);
   if(c=='h')
   handle=open("c:\\HZK24H",O_RDONLY|O_BINARY);
   if(c=='k')
   handle=open("c:\\HZK24K",O_RDONLY|O_BINARY);
   if(handle==-1||handle1==-1)
   {
      puts("Error on open cclib.dat");
      getch( );
      closegraph( );
      exit(1);
    }
}

/*显示24 24点阵汉字*/
int puthz24c(int x,int y,int z,int color,int nx,int ny)
{
  unsigned char ch;
  unsigned int i,c1,c2,f=0;
  int i1,i2,i3,i4,i5,rec,j=0,x0;
  long l;
  char by[72];
  x0=x;
 fp1=fopen("c:\\gg3.doc","r");
if(fp1==NULL)
  {
   printf("cannon open *.dot file\n");
   exit(1);

  }
  while(!feof(fp1))
  {
     ch=getc(fp1);
     i=ch;
     if(ch=='\b'||ch=='\n'||ch=='\r')
     {
	j=0;
	x=x0;y+=24*ny;
	continue;
     }
     if(i>=0xa1)
     {
     if(f==0)
       {
       c1=(i-0xa1)&0x07f;
       f=1;
       }
   else
      {
       c2=(i-0xa1)&0x07f;
       f=0;
       rec=(c1-15)*94+c2;
       l=rec*72L;
       lseek(handle,l,SEEK_SET);
       read(handle,by,72);
       for(i1=0;i1<24*nx;i1+=nx)
       for(i4=0;i4<nx;i4++)
	for(i2=0;i2<3;i2++)
	 for(i3=0;i3<8;i3++)
	  if(getbit(by[i1/nx*3+i2],7-i3))
	  for(i5=0;i5<ny;i5++)
	  {
	    putpixel(x+i1+i4,y+i2*8*ny+i3*ny+i5,color);
	    delay(1);
	   }
	   x=x+24*nx+z;
	   j+=6*nx;
	}
  }
  else
   {
	x=x+8*nx;
	j+=1*nx;
   }
  }
fclose(fp1);
}
int getbitc(unsigned char c,int n)
{
 return((c>>n)&1);
}
/*显示16 16点阵汉字*/
int puthz16(int x,int y,int z,int color,char *p)
{
  unsigned int i,c1,c2,f=0;
  int i1,i2,i3,rec;
  long l;
  char by[32];
  while((i=*p++)!=0)
  {
     if(i>0xa1)
     if(f==0)
       {
       c1=(i-0xa1)&0x07f;
       f=1;
   }
   else
   {
       c2=(i-0xa1)&0x07f;
       f=0;
       rec=c1*94+c2;
       l=rec*32L;
       lseek(handle,l,SEEK_SET);
       read(handle,by,32);
       for(i1=0;i1<16;i1++)
	for(i2=0;i2<2;i2++)
	 for(i3=0;i3<8;i3++)
	  if(getbit(by[i1*2+i2],7-i3))
	   putpixel(x+i2*8+i3,y+i1,color);
	   x=x+16+z;
    }
  }
  return(x);
}

⌨️ 快捷键说明

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