RR.H
上传用户:wszmarenbt
上传日期:2013-04-26
资源大小:2552k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

  1. ///////////////////////////////////////////////////////////////////////////
  2. // This Code Ddefines Several Classes For The Round Robin Scheduling Task
  3. // File RR.H
  4. ///////////////////////////////////////////////////////////////////////////
  5. // (1) The Node Class Of Queue Class
  6. class Node
  7. {
  8. private :
  9. int ID;
  10. int CurrentLength;
  11. public :
  12. Node(){};
  13. void SetID(int a)
  14. {
  15. ID=a;
  16. }
  17. void SetCurrentLength(int L)
  18. {
  19. CurrentLength=L;
  20. }
  21. int GetID(void)
  22. {
  23. return ID;
  24. }
  25. int GetCurrentLength(void)
  26. {
  27. return CurrentLength;
  28. }
  29. };
  30. // (2) The Several Classes For Display
  31. class Rectangle
  32. {
  33. friend class Grid;
  34. private :
  35. int left,top,right,bottom;
  36. char content[50];
  37. public :
  38. void Outtextxy(char text[50])
  39. {
  40. strcpy(content,text);
  41. outtextxy(left+9,top+7,content);
  42. }
  43. void Fill()
  44. {
  45. setfillstyle(SOLID_FILL,1);
  46. bar3d(left,top,right,bottom,0,0);
  47. getch();
  48. }
  49. void Test(int Temp,int Interval)
  50. {
  51. if (Temp==0) outtextxy(left+45+Interval,top+7,"0");
  52. if (Temp==1) outtextxy(left+45+Interval,top+7,"1");
  53. if (Temp==2) outtextxy(left+45+Interval,top+7,"2");
  54. if (Temp==3) outtextxy(left+45+Interval,top+7,"3");
  55. if (Temp==4) outtextxy(left+45+Interval,top+7,"4");
  56. if (Temp==5) outtextxy(left+45+Interval,top+7,"5");
  57. if (Temp==6) outtextxy(left+45+Interval,top+7,"6");
  58. if (Temp==7) outtextxy(left+45+Interval,top+7,"7");
  59. if (Temp==8) outtextxy(left+45+Interval,top+7,"8");
  60. if (Temp==9) outtextxy(left+45+Interval,top+7,"9");
  61. }
  62. void Display(int number)
  63. {
  64. int Temp=number;
  65. if ((Temp>=0) && (Temp<=9))
  66. {
  67. Test(Temp,0);
  68. }
  69. if ((Temp>=10) && (Temp<=99))
  70. {
  71. Temp=int (Temp/10);
  72. Test(Temp,0);
  73. Temp=number-Temp*10;
  74. Test(Temp,5);
  75. }
  76. }
  77. };
  78. class Grid
  79. {
  80. private :
  81. Rectangle *Array[100];
  82. public :
  83. Grid(){};
  84. void NewRectangle(int number,int a,int b,int c,int d)
  85. {
  86. Rectangle *Newrect;
  87. Newrect=new Rectangle;
  88. Newrect->left=a;
  89. Newrect->top=b;
  90. Newrect->right=c;
  91. Newrect->bottom=d;
  92. rectangle(a,b,c,d);
  93. Array[number]=Newrect;
  94. }
  95. Rectangle *GetRectangle(int number)
  96. {
  97. return Array[number];
  98. }
  99. };