当前位置: 代码迷 >> C语言 >> 帮我看看如何修改来自一个业余爱好者的程序
  详细解决方案

帮我看看如何修改来自一个业余爱好者的程序

热度:142   发布时间:2008-05-15 09:33:53.0
帮我看看如何修改来自一个业余爱好者的程序
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<graphics.h>
#include<bios.h>
#include<dos.h>

#define STARTX 10
#define STARTY 5
#define SIZE   17

void main()
{  void initGraph();
   int lenth,i;
   char test[2000],c;
   FILE *fp;
   if((fp=fopen("d:\\tc\\a1\\tesk.txt","r"))==NULL)
    { printf("can not open\n");
      getch();
      exit(1);
    }
   i=0;
   while(!feof(fp))
    { fscanf(fp,"%c",&c);
       if(c>31)
       test[lenth=i++]=c;
     }
   fclose(fp);
   initGraph();
   cleardevice();
   setbkcolor(BLACK);
   sittesk(lenth,test);
   dotesk(lenth,test);
   closegraph();
   getch();
}

int row,col;
draw(int i,int j,char key,int color)
{ int x,y;
  char keys[2];
  keys[1]='\0';
  keys[0]=key;
  x=STARTX+j*SIZE;
  y=STARTY+i*SIZE;
  settextjustify(1,1);
  settextstyle(1,0,1);
  setcolor(color);
  outtextxy(x,y,keys);
}

sittesk(int lenth,char *test)
{ int i;
  for(i=0;i<lenth;i++)
   { row=i/(630/SIZE);
     col=i%(630/SIZE);
     draw(2*row,col,test[i],LIGHTGREEN);
   }
   
}
dotesk(int lenth,char *test)
{ int key,i,error=0;
  double x,y;
  char word,c;
  char complete[30],right[30];
  for(i=0;i<lenth;i++)
   { row=i/(630/SIZE);
     col=i%(630/SIZE);
     key=bioskey(0);
     word=key%256;
     if(word==test[i])
      draw(2*row+1,col,test[i],WHITE);
     else { draw(2*row+1,col,word,RED);
            printf("%c",7);
            error++;
          }
     if(key/256==1)
      break;
   }

   sprintf(complete,"Completion is %5.2f %",i*100.00/lenth);
   sprintf(right,"Exactitude is %5.2f %",(i-error)*100.00/lenth);
   setcolor(BROWN);
   settextjustify(1,1);
   settextstyle(3,0,2);
   outtextxy(450,430,complete);
   outtextxy(450,450,right);
   getch();
   exit(1);
}
void initGraph()
{  int gdriver=DETECT,gmode,errorcode;
   initgraph(&gdriver,&gmode,"d:\\tc");
   errorcode=graphresult();
   if(errorcode!=grOk)
     { printf("Graphics error:%s\n",grapherrormsg(errorcode));
       exit(0);
     }
}
搜索更多相关的解决方案: 爱好者  include  业余  

----------------解决方案--------------------------------------------------------
  相关解决方案