Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.33 KB | None | 0 0
  1. #include <windows.h>
  2. #include <windowsx.h>
  3. #include <stdio.h>
  4. #include <conio.h>
  5. #include <locale.h>
  6.  
  7. float SideLength(int x1, int y1, int x2, int y2)
  8. {
  9. float l;
  10. l = ((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1))^(1/2);
  11. return l;
  12. }
  13.  
  14. int check(float a, float b, float c, float d)
  15. {
  16. if (a == b && b == c && c == d) return 1;
  17. return 0;
  18. }
  19.  
  20. void drow(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, HDC hdc)
  21. {
  22. POINT ppt[4] = { { x1,y1 },{ x2,y2 },{ x3,y3 },{ x4,y4 } };
  23. BOOL bxt = Polygon(hdc, ppt, 4);
  24. }
  25.  
  26. //int check2()
  27.  
  28. void main()
  29. {
  30. setlocale(LC_ALL, "Rus");
  31. FILE *fi;
  32. fopen_s(&fi, "input.txt", "r");
  33. if (fi != NULL)
  34. {
  35. // цвет первого ромба
  36. int r, g, b, k;
  37. // координаты первого ромба
  38. int x1, y1, x2, y2, x3, y3, x4, y4;
  39.  
  40. // цвет второго ромба
  41. int r2, g2, b2;
  42. // координаты второго ромба
  43. int x2_1, y2_1, x2_2, y2_2, x2_3, y2_3, x2_4, y2_4;
  44.  
  45.  
  46. if (fscanf_s(fi, "%d", &k) != EOF)
  47. {
  48. int c1, c2;
  49. fscanf_s(fi, "%d", &c1);
  50. if (c1 != 0)
  51. fscanf_s(fi, "%d %d %d", &r, &g, &b);
  52. fscanf_s(fi, "%d %d %d %d %d %d %d %d", &x1, &y1, &x2, &y2, &x3, &y3, &x4, &y4);
  53. if (k == 2)
  54. {
  55. fscanf_s(fi, "%d", &c2);
  56. if (c2 != 0)
  57. fscanf_s(fi, "%d %d %d", &r2, &g2, &b2);
  58. fscanf_s(fi, "%d %d %d %d %d %d %d %d", &x2_1, &y2_1, &x2_2, &y2_2, &x2_3, &y2_3, &x2_4, &y2_4);
  59. }
  60. RECT rt;
  61. char buf[100];
  62. HWND hwnd = GetConsoleWindow();
  63. HDC hdc = GetDC(hwnd);
  64.  
  65. HPEN newPen = CreatePen(PS_SOLID, 2, RGB(255, 255, 255));
  66. HPEN hOldPen = SelectPen(hdc, newPen);
  67. HBRUSH newBrush = CreateSolidBrush(RGB(0, 0, 0));
  68. HBRUSH hOldBrush = SelectBrush(hdc, newBrush);
  69.  
  70. do
  71. {
  72. GetClientRect(hwnd, &rt);
  73. sprintf_s(buf, "Размер окна %d на %d пикселей", rt.right, rt.bottom);
  74. TextOutA(hdc, 10, 10, buf, strlen(buf));
  75.  
  76. if (c1 == 1)
  77. {
  78. HPEN firstPen = CreatePen(PS_SOLID, 2, RGB(r, g, b));
  79. SelectPen(hdc, firstPen);
  80.  
  81. HBRUSH firstBrush = CreateSolidBrush(RGB(r, g, b));
  82. SelectBrush(hdc, firstBrush);
  83.  
  84. drow(x1, y1, x2, y2, x3, y3, x4, y4, hdc);
  85.  
  86. SelectPen(hdc, newPen);
  87. SelectBrush(hdc, newBrush);
  88. DeletePen(firstPen);
  89. DeleteBrush(firstBrush);
  90. }
  91. else drow(x1, y1, x2, y2, x3, y3, x4, y4, hdc);
  92.  
  93. if (k == 2)
  94. {
  95. if (c2 == 1)
  96. {
  97. HPEN secondPen = CreatePen(PS_SOLID, 2, RGB(r2, g2, b2));
  98. SelectPen(hdc, secondPen);
  99. HBRUSH secondBrush = CreateSolidBrush(RGB(r2, g2, b2));
  100. SelectBrush(hdc, secondBrush);
  101.  
  102. drow(x2_1, y2_1, x2_2, y2_2, x2_3, y2_3, x2_4, y2_4, hdc);
  103.  
  104. SelectPen(hdc, newPen);
  105. SelectBrush(hdc, newBrush);
  106. DeletePen(secondPen);
  107. DeleteBrush(secondBrush);
  108. }
  109. else drow(x2_1, y2_1, x2_2, y2_2, x2_3, y2_3, x2_4, y2_4, hdc);
  110. }
  111. SelectPen(hdc, hOldPen);
  112. SelectBrush(hdc, hOldBrush);
  113. DeletePen(hOldPen);
  114. DeleteBrush(hOldBrush);
  115. // освобождаем контекст отображения
  116. ReleaseDC(hwnd, hdc);
  117.  
  118. } while (_getch() != 27);
  119.  
  120. int check1, check2;
  121. check1 = check(SideLength(x1, y1, x2, y2), SideLength(x2, y2, x3, y3), SideLength(x3, y3, x4, y4), SideLength(x4, y4, x1, y1));
  122.  
  123. }
  124. }
  125. else printf("Файл пуст");
  126. fclose(fi);
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement