#include #include #include #include #include #include #include FILE *fi,*stream; void print(char ch); void set_graphics(int cols); void print_scr(int startx, int starty, int endx, int endy, int pagex,int pagey); void putpoint(int x, int y, int color, int how); char getpoint(int x, int y); int comIsDataReady(); char comDataIn(); void comDataOut(char ch); #define COM1 0 #define B9600 0xE0 #define DATA8 0x03 #define STOP1 0x00 #define NOP 0x00 #define LSR 0x3fd #define RBR 0x3f8 #define THR 0x3f8 main() { char js0[1],*jpr1[8],*jpr2[8],*jpr3[32],*jpr4[20],js5[5],js6[5],js7[5],js8[5]; char y,midd[8],mid1[8],j66[7],j77[5],choice2,choice1,choice3,*fname[8]; char ip; float f1,f2,f3,f5,f66,f77,im1,im2,pjs1,resu[4][4],we,le; float im3,im4,hcal1,hcal2,hcal3,cal9; float i1,hhh1=0.0; int i,GraphDrive=DETECT,GraphMode,hap3,hap4,hhap1,hhap2,n=0; int fs0,op,pp,yy,j1,h1,w1,w2,w3,l1,l2,l3; int ndodo=0,dodo=0,kk[5],y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,ji; unsigned char ch; resu[0][0]=0.0;resu[0][1]=0.0;resu[0][2]=0.0;resu[0][3]=0.0; resu[1][0]=0.0;resu[1][1]=0.0;resu[1][2]=0.0;resu[1][3]=0.0; resu[2][0]=0.0;resu[2][1]=0.0;resu[2][2]=0.0;resu[2][3]=0.0; fi=fopen("resu1.txt","w"); fprintf(fi,"\n");fclose(fi); fi=fopen("resu2.txt","w"); fprintf(fi,"\n");fclose(fi); fi=fopen("resu3.txt","w"); fprintf(fi,"\n");fclose(fi); fi=fopen("view1.txt","r"); fscanf(fi,"%6s%3s%1s%8s%8s%8s%32s%20s%5s%5s%5s%5s\n", j66,j77,js0,jpr1,jpr2,fname,jpr3,jpr4,js5,js6,js7,js8); fclose(fi); fs0=atoi(js0);f66=atof(j66);f77=atof(j77);f3=atof(js6);f1=atof(js7);f2=atof(js8); f5=atof(js5); cal9=f1*f2; if(f3!=0.0 && f2==0.0) cal9=(f3/2)*(f3/2)*3.141592; if(f2!=0.0 && f3!=0.0) cal9=((f3/2)*(f3/2)*3.141592)-(((f3-(f2*2))/2)*((f3-(f2*2))/2)*3.141592); bioscom(0,B9600 | DATA8 | STOP1 | NOP, COM1 ); initgraph(&GraphDrive,&GraphMode,""); nnew: setcolor(0);for(i=0;i<640;++i) line(i,0,i,460); setcolor(14);line(639,0,639,460);line(0,0,0,460);line(0,460,640,460); line(0,230,640,230);line(320,0,320,460);line(0,0,640,0); for(i=0;i<=9;i++) {setlinestyle(1,0xf66f,1);line(640-64*i,0,640-64*i,460);} for(i=0;i<=19;i++){setlinestyle(1,0xf66f,1);line(0,460-23*i,640,460-23*i);} setcolor(15);outtextxy(2,1,j66);outtextxy(0,465,"0");outtextxy(50,0,"Kg.f"); gcvt(f66/2,5,midd);outtextxy(2,220,midd);outtextxy(620,465,"mm"); outtextxy(580,465,j77);setlinestyle(0,0xf66f,1);setcolor(12); outtextxy(95,1, "First Peak : Second Peak : Third Peak :"); outtextxy(95,11," Stress : Stress : Stress :"); jsp: op=1;hap3=hap4=hhap1=hhap2=0;im1=im2=im3=im4=hcal1=hcal2=hcal3=0.0; setcolor(15);gcvt(f77/2,5,midd);outtextxy(310,465,midd); comDataOut('s'); while(1) { if (comIsDataReady()) { y=comDataIn(); switch(op) { case 1: y1=y;break; case 2: y2=y;break; case 3: y3=y;break; case 4: y4=y;break; case 5: y5=y;break; case 6: y6=y;break; case 7: y7=y;break; case 8: y8=y;break; case 9: y9=y;break; case 10: y10=y;op=0;break; } if(op==0) { if(y1==2) { y9=y8;y8=y7;y7=y6;y6=y5; } if(y6<0.0) y6=256.+y6; if(y7<0.0) y7=256.+y7; if(y8<0.0) y8=256.+y8; if(y9<0.0) y9=256.+y9; we=y6*256.0; we=we+y7; we=we*50.0; le=y8*256.0; le=le+y9; le=le/100.0; im1=we;im2=le; hcal1=im2; // Ãִ뺯À§ Á¡°Ë // setcolor(n+2); if(im2!=0.0 && ji==0) { hap3=hap4=hhap1=hhap2=im1=im2=0.0; ji=9; } if(im1>=hcal2) { hcal2=im1; hcal3=im2; } hhap2=(460/f66)*im1; hhap1=(640/f77)*im2; line(hap3,460-hap4,hhap1,460-hhap2);hap3=hhap1;hap4=hhap2; tong: ; } ++op; } if (kbhit()) break; } talchul: comDataOut('h'); if(fs0==9) { setcolor(0);gcvt(f77/2,5,midd);outtextxy(310,465,midd); setcolor(12);outtextxy(40,465,"break sample measure length value ( a ) checking -> mm"); setcolor(14); gcvt(hhh1,5,mid1);outtextxy(170,465,mid1); ndodo=0;dodo=0;kk[0]=0;kk[1]=0;kk[2]=0;kk[3]=0;kk[4]=0; aaa: ip=getch(); kk[dodo]=ip; if(kk[dodo]==13) { kk[dodo]=0; goto eeee; } if(dodo==4) {setcolor(0);gcvt(kk[3],5,mid1);outtextxy(480+(3*10),465,mid1); kk[3]=kk[4];dodo=3;} if(dodo<0) {setcolor(0);gcvt(kk[0],5,mid1);outtextxy(480,465,mid1);dodo=0;goto aaa;} if(kk[dodo]==8) { --dodo;setcolor(0);gcvt(kk[dodo],5,mid1); outtextxy(480+(dodo*10),465,mid1); goto aaa; } if(kk[dodo]<48 || kk[dodo]>57) goto aaa; setcolor(14);gcvt(kk[dodo]-48,5,mid1);outtextxy(480+(dodo*10),465,mid1); kk[dodo]=kk[dodo]-48; ++dodo; goto aaa; eeee: ndodo=dodo; setcolor(0);outtextxy(40,465,"break sample measure length value ( a ) checking -> mm"); aego: gcvt(kk[dodo],5,mid1);outtextxy(480+(dodo*10),465,mid1); if(dodo!=0) {--dodo; goto aego; } gcvt(hhh1,5,mid1);outtextxy(170,465,mid1); if(ndodo==4) hhh1=kk[0]*1000.0+kk[1]*100+kk[2]*10+kk[3]; if(ndodo==3) hhh1=kk[0]*100.0+kk[1]*10+kk[2]; if(ndodo==2) hhh1=kk[0]*10.0+kk[1]; if(ndodo==1) hhh1=kk[0]; if(hhh1!=0) resu[n][1]=(3.*hcal2*hhh1)/(f1*f2*f2); else resu[n][1]=(hcal2*f5)/(f1*f2*f2); } setcolor(11);gcvt(hcal2,5,mid1);outtextxy((n+1)*195,1,mid1); if(hcal2==0.0) goto ll; resu[n][0]=hcal2;resu[n][1]=(hcal2/cal9)*100.0;resu[n][2]=hcal1;resu[n][3]=hcal3; gcvt((hcal2/cal9)*100.0,5,mid1);outtextxy((n+1)*195,11,mid1); ll: setcolor(0);gcvt(f77/2,5,midd);outtextxy(310,465,midd); do { setcolor(15);outtextxy(200,465," DO YOU WANT TEST-RESULT ( T/F )"); choice2=toupper(getch()); } while (choice2!='T' && choice2!='F'); setcolor(0);outtextxy(200,465," DO YOU WANT TEST-RESULT ( T/F )"); if(choice2=='F') { setcolor(0);gcvt(hcal2,5,midd);outtextxy((n+1)*195,0,midd); if(n==0) goto nnew; else goto jsp; } do { setcolor(15);outtextxy(200,465," DO YOU WANT SAVING ( Y / N )"); choice1=toupper(getch()); } while (choice1!='Y' && choice1!='N'); setcolor(0);outtextxy(200,465," DO YOU WANT SAVING ( Y / N )"); if(n==0) {fi=fopen("resu1.txt","w");fprintf(fi,"%8.1f%6.2f%1c\n",hcal2,hcal1,choice1);} if(n==1) {fi=fopen("resu2.txt","w");fprintf(fi,"%8.1f%6.2f%1c\n",hcal2,hcal1,choice1);} if(n==2) {fi=fopen("resu3.txt","w");fprintf(fi,"%8.1f%6.2f%1c\n",hcal2,hcal1,choice1);} fclose(fi); if(n==2) goto jump; do { setcolor(15);outtextxy(200,465," DO YOU WANT CONTINUE ( Y / N )"); choice3=toupper(getch()); } while (choice3!='Y' && choice3!='N'); setcolor(0);outtextxy(200,465," DO YOU WANT CONTINUE ( Y / N )"); if(choice3=='Y') { n=n+1; goto jsp; } jump: resu[3][0]=(resu[0][0]+resu[1][0]+resu[2][0])/(n+1); resu[3][1]=(resu[0][1]+resu[1][1]+resu[2][1])/(n+1); resu[3][2]=(resu[0][2]+resu[1][2]+resu[2][2])/(n+1); resu[3][3]=(resu[0][3]+resu[1][3]+resu[2][3])/(n+1); do { setcolor(15);outtextxy(200,465," DO YOU WANT PRINTING ( Y / N )"); choice2=toupper(getch()); } while (choice2!='Y' && choice2!='N'); setcolor(0);outtextxy(200,465," DO YOU WANT PRINTING ( Y / N )"); if(choice2=='Y') { parkjoosic: do { setcolor(15);outtextxy(200,465," DO YOU WANT GRAPH-PRINT (Y / N)"); choice1=toupper(getch()); } while (choice1!='Y' && choice1!='N'); setcolor(0);outtextxy(200,465," DO YOU WANT GRAPH-PRINT (Y / N)"); setcolor(15);gcvt(f77/2,5,midd);outtextxy(310,465,midd); stream=stdprn;fprintf(stream,"\n\n\n\n\n\n"); print(27);print(64);print(27);print(77);print(28);print(14); if(fs0==1) fprintf(stream, " ÄÜÅ©¸®Æ® ¿øÇü¸ôµå ¾ÐÃ༺´É ½ÃÇè °á°ú\n\n"); if(fs0==2) fprintf(stream, " ¾Ï ¼® ¾Ð Ãà ½Ã Çè ¼º ´É °á °ú\n\n"); if(fs0==3) fprintf(stream, " ÄÜÅ©¸®Æ® ºö ¸ôµå ±ÁÈÚ¼º´É ½ÃÇè °á°ú\n\n"); if(fs0==4) fprintf(stream, " ±Ý ¼Ó Àç ·á ±Á ÈÚ ¼º ´É ½ÃÇè °á°ú\n\n"); print(28);print(83);print(0);print(0); print(28);print(14);fprintf(stream,"¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬\n"); fprintf(stream," ¡Ý ½ÃÇèÀÏÀÚ : %8s ¡Ý ½ÃÇèÀÚ : %-8s ¡Ý ½Ã·á¸í : %-32s\n",jpr1,jpr2,jpr3); print(28);print(14);fprintf(stream,"¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡\n"); fprintf(stream," ¡Ý ½Ã·á¹øÈ£ : %-20s ",jpr4); if(fs0>2) fprintf(stream,"¡Ý Áö°£°Å¸® : %-6.1f mm\n",f5); else fprintf(stream,"\n"); print(28);print(14);fprintf(stream,"¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬\n"); if(choice1=='Y') print_scr(0,0,640,472,19,0);print(27);print(51);print(30); print(28);print(14);fprintf(stream,"¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬\n"); fprintf(stream," Ƚ¼ö Áö¸§ £× £Ô ´Ü¸éÀû ÃÖ´ëÇÏÁß ÃÖ´ë°­µµ ÃÖ´ëÇÏÁß-º¯À§ Ãִ뺯À§\n"); print(28);print(14);fprintf(stream,"¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡\n"); fprintf(stream," £± %9.1f Kg.f %9.2f Kg.f/§² %6.2f mm %6.2f mm\n", resu[0][0],resu[0][1],resu[0][3],resu[0][2]); fprintf(stream," £² %5.1f mm %5.1f mm %5.1f mm %8.2f §² %9.1f Kg.f %9.2f Kg.f/§² %6.2f mm %6.2f mm\n", f3,f1,f2,cal9/100.0,resu[1][0],resu[1][1],resu[1][3],resu[1][2]); fprintf(stream," £³ %9.1f Kg.f %9.2f Kg.f/§² %6.2f mm %6.2f mm\n", resu[2][0],resu[2][1],resu[2][3],resu[2][2]); print(28);print(14);fprintf(stream,"¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡\n"); fprintf(stream," Æò±Õ %9.1f Kg.f %9.2f Kg.f/§² %6.2f mm %6.2f mm\n", resu[3][0],resu[3][1],resu[3][3],resu[3][2]); print(28);print(14);fprintf(stream,"¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬\n"); print(28);print(14);fprintf(stream," ÄÚ ¿À ·Õ °Ç ¼³\n"); print(12); setcolor(0);gcvt(f77/2,5,midd);outtextxy(310,465,midd); do { setcolor(15);outtextxy(200,465," DO YOU WANT PRINTING ( Y / N )"); choice2=toupper(getch()); } while (choice2!='Y' && choice2!='N'); setcolor(0);outtextxy(200,465," DO YOU WANT PRINTING ( Y / N )"); if(choice2=='Y') goto parkjoosic; } closegraph(); } void print_scr(int startx, int starty, int endx, int endy, int pagex,int pagey) { register int i,x,y,px; int cols,color,sum; endx++; endy++; cols=endx-startx; for(; pagey>=0; pagey--) print('\n'); for(y=starty; y