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

📄 bestcom.h

📁 simulation for computer selection
💻 H
字号:
#include<iostream.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
#include<process.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include"c:\tc\bin\sysinfo.h"
#include"c:\tc\bin\cominfo.h"
#include"c:\tc\bin\bufinfo.h"
long pconvertfloat(long float r1);
output();
commain();
bestcom()
{
int gm=VGAHI,gd=VGA;

	initgraph(&gd,&gm,"c:\\tc\\bgi");
 settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
outtextxy(140,40," BEST COMPUTER AND BUFFER");
 line(138,70,505,70);
  setcolor(LIGHTMAGENTA);
line(5,5,637,5);
line(5,5,5,470);
line(5,470,637,470);
line(10,10,630,10);
line(10,10,10,465);
line(10,465,630,465);
line(630,465,630,10);
line(637,470,637,5);
 float mq=zcom[0];
    float op=(float(zcom[2])/100);
    long float mno=((2000*mq)+(10000*mq*op));
   float py=(zcom[1]+(op*zcom[3]));
   float px=(1000*zcom[0]);
   float pz=float(mno/px);
   float zpy1=2000*mq;
   float zpx1=(10000*(mq*op));
   float zpz1=1000*mq*(py);
    long float zp1=zpy1+zpx1+float(zpz1);


    settextstyle(2,0,5);
setcolor(4);
fillellipse(25,110,3,3);
 char pst1[10],pst2[10];
int pny=130;

outtextxy(40,100,"THE TOTAL NUMBER OF INSTRUCTION THAT SYSTEM SHIULD EXECUTE IS");
 long pconr1=zp1;
 long pconr2=pconvertfloat(zp1);
 ltoa(pconr1,pst1,10);
 ltoa(pconr2,pst2,10);
 outtextxy(20,pny,"----->");
  outtextxy(150,pny,pst1);
 int plen=strlen(pst1);
  outtextxy(150+plen*(8),pny,".");
  strrev(pst2);
  outtextxy(150+(plen*8)+5,pny,pst2);
  pny=pny+15;

 for(int hhh=0;hhh<ck;hhh++)
 {
 zp1=zpy1+zpx1+float(zpz1/ccomi[hhh]);
   pconr1=ccomi[hhh];
  pconr2=pconvertfloat(ccomi[hhh]);
 ltoa(pconr1,pst1,10);
 ltoa(pconr2,pst2,10);
 outtextxy(12,pny,"By adding buffer");
  outtextxy(150,pny,pst1);
 plen=strlen(pst1);
  outtextxy(150+plen*(8),pny,".");
  strrev(pst2);
  outtextxy(150+(plen*8)+5,pny,pst2);
 // pny=pny+15;
   pconr1=zp1;
  pconr2=pconvertfloat(zp1);
 ltoa(pconr1,pst1,10);
 ltoa(pconr2,pst2,10);
 outtextxy(270,pny,"will make system speed to");
 outtextxy(500,pny,pst1);
  plen=strlen(pst1);
  outtextxy(500+plen*(8),pny,".");
  strrev(pst2);
  outtextxy(500+(plen*8)+5,pny,pst2);
 //   outtextxy(600,pny,"Acc");
  pny=pny+15;
}

getch();
setfillstyle(1,BLACK);
	  bar(15,100,600,400);




settextstyle(2,0,5);
 settextstyle(2,0,5);
setcolor(4);
fillellipse(25,110,3,3);
outtextxy(40,100,"THE COMBINATION OF COMPUTER AND BUFFER ARE");

 //  printf("y=%f\n",py);
  // printf("x=%f\n",px);
 //  printf("z=%f\n",pz);
     float pfinc[10],pfinb[10];
     float ppfinc[10],ppfinb[10];
      float pfincc[10],pfinbc[10];
     int pf,ppf;
     pf=0;
     pny=130;
   for(int pi=0;pi<xk;pi++)
   {
    for(int pj=0;pj<ck;pj++)
    {
     if((py/ccomi[pj])<=((xcomi[pi]/px)-pz))
     {
      pfinc[pf]=xcomi[pi];
      pfinb[pf]=ccomi[pj];
      pfincc[pf]=xcomc[pi];
      pfinbc[pf]=ccomc[pj];
       pconr1=pfinc[pf];
  pconr2=pconvertfloat(pfinc[pf]);
 ltoa(pconr1,pst1,10);
 ltoa(pconr2,pst2,10);
 outtextxy(12,pny,"The computer with");
  outtextxy(150,pny,pst1);
 plen=strlen(pst1);
  outtextxy(150+plen*(8),pny,".");
  strrev(pst2);
  outtextxy(150+(plen*8)+5,pny,pst2);
 // pny=pny+15;
   pconr1=pfinb[pf];
  pconr2=pconvertfloat(pfinb[pf]);
 ltoa(pconr1,pst1,10);
 ltoa(pconr2,pst2,10);
 outtextxy(270,pny,"instruction speed with buffer");
 outtextxy(500,pny,pst1);
  plen=strlen(pst1);
  outtextxy(500+plen*(8),pny,".");
  strrev(pst2);
  outtextxy(500+(plen*8)+5,pny,pst2);
    outtextxy(600,pny,"Acc");
  pny=pny+15;
      pf++;
     }else
     {
      ppfinc[ppf]=xcomi[pi];
      ppfinb[ppf]=ccomi[pj];
     long pconr1=ppfinc[ppf];
 long pconr2=pconvertfloat(ppfinc[ppf]);
 ltoa(pconr1,pst1,10);
 ltoa(pconr2,pst2,10);
  outtextxy(12,pny,"The computer with");
 outtextxy(150,pny,pst1);
   int plen=strlen(pst1);
  outtextxy(150+plen*(8),pny,".");
  strrev(pst2);
  outtextxy(150+(plen*8)+5,pny,pst2);
 // pny=pny+15;
   pconr1=ppfinb[ppf];
  pconr2=pconvertfloat(ppfinb[ppf]);
 ltoa(pconr1,pst1,10);
 ltoa(pconr2,pst2,10);
 outtextxy(270,pny,"instruction speed with buffer");
 outtextxy(500,pny,pst1);
  plen=strlen(pst1);
  outtextxy(500+plen*(8),pny,".");
  strrev(pst2);
  outtextxy(500+(plen*8)+5,pny,pst2);
  outtextxy(600,pny,"Rej");
  pny=pny+15;
      ppf++;


      continue;
      }
     }
    }



//closegraph();
getch();
cleardevice();
output();
getch();
}
long pconvertfloat(long float r1)
{
 long tempr=r1;int a[7],pni=0;
 long temp=0;
 float tempr1=r1-float(tempr);
 long tempr2=1000000*tempr1;
 while(tempr2!=0)
 {
  a[pni]=tempr2%10;
 //  printf("%d",a[ni]);
   temp=temp*10;temp=temp+a[pni];
  pni++;

  tempr2=tempr2/10;
  // printf("%d",a[i-1]);
  }


 return temp;

 }

  output()
  {
  setcolor(4);
  settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
  outtextxy(140,40," BEST COMPUTER AND BUFFER");
 line(138,70,505,70);
  setcolor(LIGHTMAGENTA);
line(5,5,637,5);
line(5,5,5,470);
line(5,470,637,470);
line(10,10,630,10);
line(10,10,10,465);
line(10,465,630,465);
line(630,465,630,10);
line(637,470,637,5);
settextstyle(2,0,5);
setcolor(4);
  setcolor(4);
fillellipse(25,110,3,3);
outtextxy(40,100,"THE COMBINATION OF COMPUTER AND BUFFER ARE");
setcolor(8);
outtextxy(100,130,"COMPUTER");
line(98,145,162,145);
setcolor(8);
outtextxy(250,130,"COST");
line(248,145,280,145);
outtextxy(350,130,"BUFFER");
line(348,145,400,145);
setcolor(8);
outtextxy(500,130,"COST");
line(498,145,530,145);
       float mq=zcom[0];
    float op=(float(zcom[2])/100);
    long float mno=((2000*mq)+(10000*mq*op));
   float py=(zcom[1]+(op*zcom[3]));
   float px=(1000*zcom[0]);
   float pz=float(mno/px);
   // float z=(((2000*M)+(10000*M*k))/x);
  // printf("y=%f\n",py);
  // printf("x=%f\n",px);
  // printf("z=%f\n",pz);
     float pfinc[10],pfinb[10];
     //float ppfinc[10],ppfinb[10];
      float pfincc[10],pfinbc[10];
     int pf;
     pf=0;
     char pst1[10],pst2[10];
int pny=150;

   for(int pi=0;pi<xk;pi++)
   {
    for(int pj=0;pj<ck;pj++)
    {
     if((py/ccomi[pj])<=((xcomi[pi]/px)-pz))
     {
      pfinc[pf]=xcomi[pi];
      pfinb[pf]=ccomi[pj];
      pfincc[pf]=xcomc[pi];
      pfinbc[pf]=ccomc[pj];
      pf++;
      break;
     }else
     {

      continue;
      }
     }
    }



 //   for(pi=0;pi<pf;pi++)
 //   {
 //   printf("the %d computer is %f\n",pi,pfinc[pi]);
  //  printf("the %d buffer is %f\n\n",pi,pfinb[pi]);
 //   }
    long int ptemparr[10],pmaxx,pj=1;
     for(pi=0;pi<ck;pi++)
     {
     ptemparr[pi]=(py/ccomi[pi]);
     pmaxx=ptemparr[0];
     while(pj<ck)
     {
     if(pmaxx<ptemparr[pj])
     {
      pmaxx=ptemparr[pj];
     }
     pj++;
     }
    }

    // printf("the max is %d",pmaxx);
	 int pxx;   pj=1; long float pmax=0;
   if(pf==0)
   {
    pxx=pj;
    pmax=xcomi[0];
    while(pj<xk)
    {
    if(pmax<xcomi[pj])
    {
    pmax=xcomi[pj];
    pxx=pj;
    }
    pj++;
    }
   }
 //  printf("the com is %f",pmax);
  // printf("the ocom is %lf",ccomi[3]);
 long float ptempcom=pmax,ptempx=ptempcom;
 int pfla=0;pi=2;
 int pmul=0;
 if(pf==0)
 {
 while(pfla!=1)
 {
  ptempx=ptempx*pi;
  for(pj=0;pj<ck;pj++)
  {
  if((py/ccomi[pj])<=((ptempx/px)-pz))
  {pfla=1;pmul=pi;break;}
  }
  pmul++;
  }
  }
 // printf("the d is %d",pmul);
 //    printf("the b is %f",ccomi[pj]);
 //  char pst1[10],pst2[10];
 pny=150;

 for(int pni=0;pni<pf;pni++)
{
 long pconr1=pfinc[pni];
 long pconr2=pconvertfloat(pfinc[pni]);
 ltoa(pconr1,pst1,10);
 ltoa(pconr2,pst2,10);
 outtextxy(100,pny,pst1);
 int plen=strlen(pst1);
  outtextxy(100+plen*(8),pny,".");
  strrev(pst2);
  outtextxy(100+(plen*8)+5,pny,pst2);
  pny=pny+15;
}
pny=150;
for(pni=0;pni<pf;pni++)
{
 long pconr1=pfincc[pni];
 int pconr2=pconvertfloat(pfincc[pni]);
 ltoa(pconr1,pst1,10);
 itoa(pconr2,pst2,10);
 outtextxy(250,pny,pst1);
 int plen=strlen(pst1);
  outtextxy(250+plen*(8),pny,".");
  strrev(pst2);
  outtextxy(250+(plen*8)+5,pny,pst2);
  pny=pny+15;
}

 pny=150;
for(pni=0;pni<pf;pni++)
{
 long pconr1=pfinb[pni];
 int pconr2=pconvertfloat(pfinb[pni]);
 ltoa(pconr1,pst1,10);
 itoa(pconr2,pst2,10);
 outtextxy(350,pny,pst1);
 int plen=strlen(pst1);
  outtextxy(350+plen*(8),pny,".");
  strrev(pst2);
  outtextxy(350+(plen*8)+5,pny,pst2);
  pny=pny+15;
}
pny=150;
for(pni=0;pni<pf;pni++)
{
 long pconr1=pfinbc[pni];
 int pconr2=pconvertfloat(pfinbc[pni]);
 ltoa(pconr1,pst1,10);
 itoa(pconr2,pst2,10);
 outtextxy(500,pny,pst1);
 int plen=strlen(pst1);
  outtextxy(500+plen*(8),pny,".");
  strrev(pst2);
  outtextxy(500+(plen*8)+5,pny,pst2);
  pny=pny+15;
}

 if(pf==0)
 {
 setcolor(4);
 settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
 outtextxy(140,40," BEST COMPUTER AND BUFFER");
 line(138,70,505,70);
  setcolor(LIGHTMAGENTA);
line(5,5,637,5);
line(5,5,5,470);
line(5,470,637,470);
line(10,10,630,10);
line(10,10,10,465);
line(10,465,630,465);
line(630,465,630,10);
line(637,470,637,5);
settextstyle(2,0,5);
setcolor(4);
  setfillstyle(1,BLACK);
	  bar(15,125,600,400);
 setcolor(7);
 outtextxy(200,200,"NO COMPUTERS SATISFIED AND NO GRAPH");
// outtextxy(100,250,"THE COMPUTERS WHICH CAN PERFOM BY DISTRUBUTING ARE");
 itoa((pmul-1),pst1,10);
 outtextxy(100,300,pst1);
  outtextxy(150,300,"COMPUTER WITH");
  long pconr1=pmax;
 int pconr2=pconvertfloat(pmax);
 ltoa(pconr1,pst1,10);
 itoa(pconr2,pst2,10);
 outtextxy(350,300,pst1);
 int plen=strlen(pst1);
  outtextxy(350+plen*(8),300,".");
  strrev(pst2);
  outtextxy(350+(plen*8)+5,300,pst2);
   outtextxy(150,350,"AND BUFFER WITH");
  pconr1=ccomi[pj];
  pconr2=pconvertfloat(ccomi[pj]);
 ltoa(pconr1,pst1,10);
 itoa(pconr2,pst2,10);
 outtextxy(350,350,pst1);
 plen=strlen(pst1);
  outtextxy(350+plen*(8),350,".");
  strrev(pst2);
  outtextxy(350+(plen*8)+5,350,pst2);
   outtextxy(100,400,"CAN PERFORM THE TASK");

 }

 getch();
 if(pf!=0)
 {

      cleardevice();
    line(20,10,20,450);
     line(20,450,400,450);
	    int px1,px2,py1,py2;
     for(pi=0;pi<ck-1;pi++)
     {   px1=(20+(20*ccomi[pi])),py1=abs((10*ptemparr[pi])-450),px2=20+(20*ccomi[pi+1]),py2=abs((10*ptemparr[pi+1])-450);
      line(px1,py1,px2,py2);
  //line(30,250,40,350);
     }


    for(pi=0;pi<ck;pi++)
    {
    int ppar=12,pinc=10;
    while(ppar<440)
    {
     line(20+(20*ccomi[pi]),10+pinc,20+(20*ccomi[pi]),12+pinc);
     pinc=pinc+4;
     ppar=ppar+4;
     }
     }
     float phor[10];

      for(pi=0;pi<xk;pi++)
      {
	   int pm=((xcomi[pi]/px)-pz);
	   if(pm>0){phor[pi]=pm;}

      }

      for(pi=0;pi<xk;pi++)
    {
    int ppar=12,pinc=10;
    while(ppar<=400)
    {
     line(10+pinc,abs(((10*phor[pi])-450)),12+pinc,abs(((10*phor[pi])-450)));
     pinc=pinc+4;
     ppar=ppar+4;
     }
     }
	  int pno=100,pl=0;
	  char pst[10];
	   settextstyle(2,0,1);
	       setcolor(11);
	       for(pi=0;pi<=45;pi=pi+1)
	       {
	     itoa(pi,pst,10);
       line(18,450-pl,20,450-pl);
       outtextxy(0,445-pl,pst);
	       pl=pl+10;
		}
		  pl=0;
		 for(pi=0;pi<=20;pi=pi+1)
	       {
	     itoa(pi,pst,10);
       line(20+pl,450,20+pl,452);
       outtextxy(17+pl,455,pst);
	       pl=pl+20;
		}


  }

  getch();
  closegraph();
  commain();

 }

⌨️ 快捷键说明

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