Advertisement
Guest User

Untitled

a guest
May 19th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.21 KB | None | 0 0
  1. #include "pch.h"
  2. #include <windows.h>
  3. #include <conio.h>
  4. #include <stdio.h>
  5. #include <string.h>
  6.  
  7. struct basket {
  8. char fam[20];
  9. char name[20];
  10. int time;
  11. int ochki;
  12. } ball;
  13.  
  14. struct Root {
  15. basket ball;
  16. Root *left, *right;
  17. }*root = NULL;
  18.  
  19. struct List {
  20. basket ball;
  21. List *next;
  22. }*first = NULL;
  23.  
  24. FILE *f; int kolsp = 0;
  25.  
  26. void del_tree(Root **root) {
  27. if (*root) {
  28. del_tree(&((*root)->left));
  29. del_tree(&((*root)->right));
  30. delete (*root);
  31. (*root) = NULL;
  32. }
  33. }
  34.  
  35. int input()
  36. {
  37. int count; //кол-во введенных данных
  38. char sym;
  39. f = fopen("basket.txt", "rb+");
  40. if (f) {
  41. printf("Файл существует. Выберете действие\n");
  42. printf("1 - создать новый файл\n");
  43. printf("2 - добавить данные в существующий\n");
  44. printf("3 - выйти из операции ввода\n");
  45. //getchar();
  46. sym = getchar();
  47. switch (sym)
  48. {
  49. case '1': f = fopen("basket.txt", "wb");
  50. break;
  51. case '2': {
  52. f = fopen("basket.txt", "ab");
  53. fseek(f, 0, 2);
  54. }
  55. break;
  56. case '3': return 0;
  57. }
  58. }
  59. else f = fopen("basket.txt", "wb");
  60. count = 0;
  61. do {
  62. List *buf;
  63. while (first) {
  64. buf = first;
  65. first = first->next;
  66. delete buf;
  67. }first = NULL;
  68. printf("Введите время\n"); scanf("%d", &ball.time);
  69. printf("Введите название команды\n");
  70. //fflush(stdin);
  71. getchar();
  72. gets_s(ball.name);
  73. printf("Введите фамилию игрока\n");
  74. gets_s(ball.fam);
  75. printf("Введите кол-во забитых очков этим игроком\n"); scanf("%d", &ball.ochki);
  76. fwrite(&ball, sizeof(ball), 1, f); //пишет данные в файл
  77. printf("Продлжить ввод? [д/н]\n");
  78. //fflush(stdin);
  79. getchar();
  80. count++;
  81. sym = getchar();
  82. } while (sym == 'д' || sym == 'l');
  83.  
  84. fclose(f);
  85. return count;
  86. }
  87.  
  88. void view()
  89. {
  90. int count = 0;
  91. f = fopen("basket.txt", "rb");
  92. if (!f) {
  93. printf("Файл не найден\n");
  94. //system("Pause");
  95. }
  96. else {
  97. int kolvoOchkov1 = 0, kolvoOchkov2 = 0;
  98. int cravn;
  99. char kom[20];
  100. char k1[20], k2[20];
  101. fopen("basket.txt", "rb");
  102. //printf("Отчет по игре:\n");
  103. printf("Время ");
  104. printf("Команда ");
  105. printf("Фамилия ");
  106. printf("Очки\n");
  107. fread(&ball, sizeof(basket), 1, f);
  108. strcpy(kom, ball.name);
  109. do {
  110. printf("%-8d", ball.time);
  111. printf("%-10s", ball.name);
  112. printf("%-10s", ball.fam);
  113. printf("%d", ball.ochki);
  114. printf("\n");
  115. count++;
  116. cravn = strcmp(kom, ball.name);
  117. if (cravn == 0) {
  118. kolvoOchkov1 += ball.ochki;
  119. strcpy(k1, ball.name);
  120. }
  121. else {
  122. kolvoOchkov2 += ball.ochki;
  123. strcpy(k2, ball.name);
  124. }
  125. } while (fread(&ball, sizeof(basket), 1, f));
  126. if (kolvoOchkov1 > kolvoOchkov2)
  127. printf("Победила команда %s со счетом: %d:%d\n", k1, kolvoOchkov1, kolvoOchkov2);
  128. else printf("Победила команда %s со счетом: %d:%d\n", k2, kolvoOchkov2, kolvoOchkov1);
  129. }
  130. fclose(f);
  131. if (!count)
  132. printf("Нет данных!");
  133. }
  134.  
  135. void taim()
  136. {
  137. f = fopen("basket.txt", "rb");
  138. if (!f) {
  139. printf("Файл не найден\n");
  140. }
  141. else {
  142. char k1time1[20], k2time1[20];
  143. int kolvoOchkov1time1 = 0, kolvoOchkov2time1 = 0, kolvoOchkov1time2 = 0, kolvoOchkov2time2 = 0;
  144. char kolvoOchkov1dop = 0, kolvoOchkov2dop = 0;
  145. int time1, time2;
  146. char kom[20];
  147. int cravn;
  148. //printf("\n");
  149. fread(&ball, sizeof(basket), 1, f);
  150. strcpy(kom, ball.name);
  151. do {
  152. cravn = strcmp(kom, ball.name);
  153. if (ball.time <= 15)
  154. if (cravn == 0) {
  155. kolvoOchkov1time1 += ball.ochki;
  156. strcpy(k1time1, ball.name);
  157. }
  158. else {
  159. kolvoOchkov2time1 += ball.ochki;
  160. strcpy(k2time1, ball.name);
  161. }
  162. else if (ball.time > 15 && ball.time <= 30)
  163. if (cravn == 0) {
  164. kolvoOchkov1time2 += ball.ochki;
  165. strcpy(k1time1, ball.name);
  166. }
  167. else {
  168. kolvoOchkov2time2 += ball.ochki;
  169. strcpy(k2time1, ball.name);
  170. }
  171. else
  172. if (cravn == 0)
  173. kolvoOchkov1dop += ball.ochki;
  174. else kolvoOchkov2dop += ball.ochki;
  175. } while (fread(&ball, sizeof(basket), 1, f));
  176. //printf("Отчет по таймам:\n");
  177. printf(" %-7s", k1time1);
  178. printf("%s\n", k2time1);
  179. printf("тайм1 %-7d", kolvoOchkov1time1);
  180. printf("%d\n", kolvoOchkov2time1);
  181. printf("тайм2 %-7d", kolvoOchkov1time2);
  182. printf("%d\n", kolvoOchkov2time2);
  183. if (kolvoOchkov1dop == 0 && kolvoOchkov2dop == 0) {
  184. kolvoOchkov1dop = '-';
  185. kolvoOchkov2dop = '-';
  186. printf("д.вр. %-7c", kolvoOchkov1dop);
  187. printf("%c\n", kolvoOchkov2dop);
  188. }
  189. else {
  190. printf("д.вр. %-7d", kolvoOchkov1dop);
  191. printf("%d\n", kolvoOchkov2dop);
  192. }
  193. }
  194.  
  195. }
  196.  
  197. void igroc()
  198. {
  199. f = fopen("basket.txt", "rb");
  200. if (!f) {
  201. printf("Файл не найден\n");
  202. }
  203. else {
  204. char best[20], komanda[12][20];
  205. int igr[12];
  206. memset(igr, 0, sizeof(igr));
  207. int cravn, i = 0;
  208. printf("Введите название команды, в которой вы хотите узнать лучшего игрока\n");
  209. scanf("%s", &best);
  210. while (fread(&ball, sizeof(basket), 1, f)) {
  211. cravn = strcmp(best, ball.name);
  212. if (cravn == 0) {
  213. int j = 0, k = 0;
  214. while (k < i) {
  215. cravn = strcmp(komanda[k], ball.fam);
  216. if (!(cravn == 0))
  217. j++;
  218. else igr[k] += ball.ochki;
  219. k++;
  220. }
  221. if (j == i) {
  222. strcpy(komanda[i], ball.fam);
  223. igr[i] += ball.ochki;
  224. i++;
  225. }
  226.  
  227. }
  228. }
  229. int max = 0, a = 0;
  230. for (int poiskockov = 0; poiskockov < i; poiskockov++)
  231. if (igr[poiskockov] > max) {
  232. max = igr[poiskockov];
  233. a = poiskockov;
  234. }
  235. printf("Самый результативный игрок в команде %s - это %s (набрал(а) %d очков)\n", best, komanda[a], max);
  236. }
  237. }
  238.  
  239. int kolvoStruct() {
  240. f = fopen("basket.txt", "rb");
  241. int kol;
  242. if (!f)
  243. printf("Файл не найден\n");
  244. else {
  245. kol = 0;
  246. while (fread(&ball, sizeof(basket), 1, f)) {
  247. kol++;
  248. }
  249. }
  250. fclose(f);
  251. return kol;
  252. }
  253.  
  254. void sort() {
  255. int kolvoMas = kolvoStruct();
  256. basket *sortir1 = new basket[kolvoMas];
  257. basket buf;
  258. f = fopen("basket.txt", "rb");
  259. int kol;
  260. if (!f)
  261. printf("Файл не найден\n");
  262. else {
  263. fread(sortir1, sizeof(basket), kolvoMas, f);
  264. char nameBuf[20];
  265. char famBuf[20];
  266. int ochkiBuf;
  267.  
  268. for (int i = 1; i < kolvoMas; i++) {
  269. buf = sortir1[i];
  270. strcpy(nameBuf, sortir1[i].name);
  271. strcpy(famBuf, sortir1[i].fam);
  272. int j = i - 1;
  273. while (j >= 0 && strcmp(sortir1[j].name, nameBuf) > 0) {
  274. sortir1[j + 1] = sortir1[j];
  275. j--;
  276. }
  277. while (j >= 0 && strcmp(sortir1[j].fam, famBuf) > 0 && strcmp(sortir1[j].name, nameBuf) == 0) {
  278. sortir1[j + 1] = sortir1[j];
  279. j--;
  280. }
  281. sortir1[j + 1] = buf;
  282. }
  283.  
  284. printf("Выберите тип сортировки для вывода отчета по игре\n");
  285. printf("1- по двум ключам: по наименованию команды и по фамилиям в алфавитном порядке\n");
  286. printf("2- по убыванию количества заброшенных игроком мячей\n");
  287. int sum = 0;
  288. scanf("%d", &sum);
  289. int i;
  290. switch (sum) {
  291. case 1: {
  292. i = 0;
  293. printf("Время ");
  294. printf("Команда ");
  295. printf("Фамилия ");
  296. printf("Очки\n");
  297. do {
  298. printf("%-8d", sortir1[i].time);
  299. printf("%-10s", sortir1[i].name);
  300. printf("%-10s", sortir1[i].fam);
  301. printf("%d", sortir1[i].ochki);
  302. printf("\n");
  303. i++;
  304. } while (i < kolvoMas);
  305. }
  306. break;
  307. case 2: {
  308. i = 0;
  309. int *dop = new int[kolvoMas];
  310. for (; i < kolvoMas; i++)
  311. dop[i] = i;
  312. for (int k = 0; k < kolvoMas - 1; k++) {
  313. int min = k;
  314. for (int j = k + 1; j < kolvoMas; j++)
  315. if (sortir1[dop[j]].ochki > sortir1[dop[min]].ochki)
  316. min = j;
  317. if (min != k) {
  318. int p = dop[k];
  319. dop[k] = dop[min];
  320. dop[min] = p;
  321. }
  322. }
  323.  
  324. printf("Время ");
  325. printf("Команда ");
  326. printf("Фамилия ");
  327. printf("Очки\n");
  328.  
  329. i = 0;
  330. do {
  331. printf("%-8d", sortir1[dop[i]].time);
  332. printf("%-10s", sortir1[dop[i]].name);
  333. printf("%-10s", sortir1[dop[i]].fam);
  334. printf("%d", sortir1[dop[i]].ochki);
  335. printf("\n");
  336. i++;
  337. } while (i < kolvoMas);
  338. }
  339. break;
  340. }
  341. }
  342. }
  343.  
  344. void Add_tree(Root **curr, basket ball) {
  345. if (!(*curr)) {
  346. *curr = new Root;
  347. (*curr)->left = NULL;
  348. (*curr)->right = NULL;
  349. strcpy((*curr)->ball.fam, ball.fam);
  350. if ((*curr)->ball.ochki < 0)
  351. (*curr)->ball.ochki = 0;
  352. (*curr)->ball.ochki += ball.ochki;
  353. strcpy((*curr)->ball.name, ball.name);
  354. }
  355.  
  356. else if (strcmp(ball.fam, (*curr)->ball.fam) < 0)
  357. Add_tree(&(*curr)->left, ball);
  358. else if (strcmp(ball.fam, (*curr)->ball.fam) > 0)
  359. Add_tree(&(*curr)->right, ball);
  360. else
  361. if (strcmp(ball.name, (*curr)->ball.name) == 0)
  362. (*curr)->ball.ochki += ball.ochki;
  363. else Add_tree(&(*curr)->right, ball);
  364. }
  365.  
  366. void derevo(Root **root) {
  367. //*root = NULL;
  368. if (root!=NULL)
  369. del_tree(root);
  370. f = fopen("basket.txt", "rb");
  371. if (!f) {
  372. printf("Файл не найден\n");
  373. }
  374. else {
  375. while (fread(&ball, sizeof(basket), 1, f)) {
  376. Add_tree(root, ball);
  377. }
  378. fclose(f);
  379. }
  380. }
  381.  
  382. void komanda() {
  383. printf("Команда ");
  384. printf("Фамилия ");
  385. printf("Очки\n");
  386. }
  387.  
  388. void View_tree(Root *root) {
  389. if (root) {
  390.  
  391. View_tree(root->left);
  392. printf("%-10s", root->ball.name);
  393. printf("%-10s", root->ball.fam);
  394. printf(" %d\n",root->ball.ochki);
  395. View_tree(root->right);
  396. }
  397. }
  398.  
  399. void View_tree_for_spisok(Root *root) {
  400. List *tek, *pred, *newel;
  401. if (root) {
  402. View_tree_for_spisok(root->left);
  403. kolsp++;
  404. newel = new List;
  405. strcpy(newel->ball.name, root->ball.name);
  406. strcpy(newel->ball.fam, root->ball.fam);
  407. newel->ball.ochki = root->ball.ochki;
  408. newel->next = NULL;
  409. tek = first;
  410. pred = NULL;
  411. while (tek && tek->ball.ochki > newel->ball.ochki) {
  412. pred = tek;
  413. tek = tek->next;
  414. }
  415. if (pred == NULL)
  416. first = newel;
  417. else
  418. pred->next = newel;
  419. newel->next = tek;
  420. if (kolsp > 10) {
  421. List *temp = first;
  422. for (int i = 0; i <= 8; i++) {
  423. temp = temp->next;
  424. if (i == 8) {
  425.  
  426. delete((*temp).next);
  427. temp->next = NULL;
  428. }
  429. }
  430. }
  431. View_tree_for_spisok(root->right);
  432. }
  433.  
  434. }
  435.  
  436. void Display(List* Head) {
  437. printf("Команда ");
  438. printf("Фамилия ");
  439. printf("Очки\n");
  440. while (Head != NULL )
  441. {
  442. printf("%-10s", Head->ball.name);
  443. printf("%-10s", Head->ball.fam);
  444. printf(" %d\n", Head->ball.ochki);
  445. Head = Head->next;
  446. }
  447. }
  448.  
  449. /*void Display(List* Head)
  450. {
  451. while (Head != NULL)
  452. {
  453. printf("%-10s", root->ball.name);
  454. printf("%-10s", root->ball.fam);
  455. printf(" %d\n", root->ball.ochki);
  456.  
  457. Head = Head->next;
  458. }
  459. }*/
  460.  
  461. /*void Drop(List* Item, List** head, List** tail, short& Koll)
  462. {
  463. if (*head == NULL)
  464. {
  465. Item->next = NULL;
  466. *head = Item;
  467. *tail = Item;
  468.  
  469. return;
  470. }
  471.  
  472. List *Old, *Temp;
  473.  
  474. Temp = *head;
  475. Old = NULL;
  476.  
  477. while (Temp != NULL)
  478. {
  479. if (Koll <= 10)
  480. {
  481. if (Item->ball.ochki <= Temp->ball.ochki)
  482. {
  483. Old = Temp;
  484. Temp = Temp->next;
  485. }
  486. else
  487. {
  488. if (Old != NULL)
  489. {
  490. Old->next = Item;
  491. Item->next = Temp;
  492.  
  493. Koll++;
  494. return;
  495. }
  496. else
  497. {
  498. Item->next = Temp;
  499. *head = Item;
  500.  
  501. Koll++;
  502. return;
  503. }
  504. }
  505.  
  506. (*tail)->next = Item;
  507. Item->next = NULL;
  508. (*tail) = Item;
  509.  
  510. Koll++;
  511. return;
  512. }
  513. }
  514. }
  515.  
  516. void Tree_Run(Root* Roots, List** List_Head, List** List_Tail, short& count)
  517. {
  518. if (!Roots)
  519. {
  520. return;
  521. }
  522. else
  523. {
  524. Tree_Run(Roots->left, List_Head, List_Tail, count);
  525.  
  526. List* TEMP = new List;
  527. TEMP->ball = Roots->ball;
  528.  
  529. Drop(TEMP, List_Head, List_Tail, count);
  530.  
  531. Tree_Run(Roots->right, List_Head, List_Tail, count);
  532. }
  533. }
  534.  
  535. void Create_list(Root* Tree)
  536. {
  537. List* Head, *Tail;
  538. Head = NULL;
  539. Tail = NULL;
  540. short Count = 1;
  541.  
  542. Tree_Run(Tree, &Head, &Tail, Count);
  543.  
  544. printf("Команда ");
  545. printf("Фамилия ");
  546. printf("Очки\n");
  547.  
  548. Display(Head);
  549.  
  550. }*/
  551.  
  552.  
  553. /*void spisok(Root *root) {
  554. f = fopen("basket.txt", "rb");
  555. if (!f) {
  556. printf("Файл не найден\n");
  557. }
  558. else {
  559. //while (fread(&ball, sizeof(basket), 1, f)) {
  560. //Add_tree(root, ball);
  561. //}
  562. List *tek, *pred, *newel;
  563. for (int i=0;i<kolsp;i++)
  564. {
  565.  
  566. newel = new List;
  567. View_tree_for_spisok(root);
  568. strcpy(newel->ball.name, ball.name);
  569. strcpy(newel->ball.fam, ball.fam);
  570. newel->ball.ochki = ball.ochki;
  571. newel->next = NULL;
  572. newel->ball.ochki = ball.ochki;
  573. tek = first;
  574. pred = NULL;
  575. //if (tek->ball.ochki < 0)
  576. //tek->ball.ochki = 0;
  577. while (tek && tek->ball.ochki < newel->ball.ochki) {
  578.  
  579. pred = tek;
  580. tek = tek->next;
  581. }
  582. if (pred == NULL)
  583. first = newel;
  584. else pred->next = newel;
  585. newel->next = tek;
  586.  
  587. }
  588. //tek = first;
  589. printf("Команда ");
  590. printf("Фамилия ");
  591. printf("Очки\n");
  592. while (tek) {
  593. printf("%-10s", tek->ball.name);
  594. printf("%-10s", tek->ball.fam);
  595. printf(" %d\n", tek->ball.ochki);
  596. tek = tek->next;
  597. }
  598. }
  599. fclose(f);
  600. }*/
  601.  
  602. int main()
  603. {
  604. // получение информации о консольном окне
  605. HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
  606. HWND hcon = GetConsoleWindow();
  607.  
  608. // программная установка консольного шрифта для отображения русского текста
  609. CONSOLE_FONT_INFO cfi;
  610. GetCurrentConsoleFont(hConsole, false, &cfi);
  611. COORD fs = GetConsoleFontSize(hConsole, cfi.nFont);
  612. PCONSOLE_FONT_INFOEX ccf = new CONSOLE_FONT_INFOEX;
  613. (*ccf).dwFontSize.X = 12;
  614. (*ccf).dwFontSize.Y = 20;
  615. (*ccf).nFont = 11;
  616. (*ccf).cbSize = sizeof(CONSOLE_FONT_INFOEX);
  617. ccf->FontWeight = 400;
  618. lstrcpyW((*ccf).FaceName, L"Lucida Console");
  619. (*ccf).FontFamily = FF_DONTCARE;
  620. bool b = SetCurrentConsoleFontEx(hConsole, false, ccf);
  621. fs = GetConsoleFontSize(hConsole, cfi.nFont);
  622.  
  623. // установка кодировки 1251 для отображения русского текста
  624. SetConsoleCP(1251);
  625. SetConsoleOutputCP(1251);
  626.  
  627. const int MAX = 8;
  628. int n = MAX; //кол-во пунктов меню
  629. COORD position[MAX];
  630. int punkt = 0;
  631. char names[MAX][48] = { "Ввод данных", "Отчет по игре", "Отчет по таймам", "Лучший игрок", "Отсортированный список игроков", "Дерево","Список","Выход" };
  632. do
  633. {
  634. int xmax, ymax;
  635.  
  636. // получение параметров окна
  637. PCONSOLE_SCREEN_BUFFER_INFO pwi = new CONSOLE_SCREEN_BUFFER_INFO;
  638. PWINDOWINFO pgwi = new WINDOWINFO;
  639. GetConsoleScreenBufferInfo(hConsole, pwi);
  640. GetWindowInfo(hcon, pgwi);
  641. xmax = pwi->dwSize.X;
  642. ymax = pwi->dwSize.Y;
  643.  
  644. int y0 = 8;
  645. for (int i = 0; i < n; i++)
  646. {
  647. position[i].X = (xmax - strlen(names[i])) / 2;
  648. position[i].Y = y0 + i;
  649. }
  650. SetConsoleTextAttribute(hConsole, BACKGROUND_GREEN); // цвет фона
  651. system("cls"); // очистка окна
  652. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_GREEN); // цвет символов и цвет фона
  653. char title[] = "БАЗА ДАННЫХ";
  654. COORD pos;
  655. pos.X = (xmax - strlen(title)) / 2;
  656. pos.Y = 5;
  657. SetConsoleCursorPosition(hConsole, pos);
  658. puts(title);
  659. for (int i = 0; i < MAX; i++)
  660. {
  661. SetConsoleCursorPosition(hConsole, position[i]);
  662. puts(names[i]);
  663. }
  664. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_INTENSITY | BACKGROUND_GREEN);
  665. SetConsoleCursorPosition(hConsole, position[punkt]); // выделение текущего пункта ярким цветом
  666. puts(names[punkt]);
  667. unsigned char ch;
  668. do
  669. {
  670. // обработка перемещения по меню клавишами со стрелками
  671. ch = getch();
  672. if (ch == 224)
  673. {
  674. ch = getch();
  675. switch (ch)
  676. {
  677. case 72:
  678. SetConsoleCursorPosition(hConsole, position[punkt]);
  679. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_GREEN);
  680. puts(names[punkt]);
  681. punkt--;
  682. if (punkt < 0) punkt = 4;
  683. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_INTENSITY | BACKGROUND_GREEN);
  684. SetConsoleCursorPosition(hConsole, position[punkt]);
  685. puts(names[punkt]); break;
  686. case 80:
  687. SetConsoleCursorPosition(hConsole, position[punkt]);
  688. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_GREEN);
  689. puts(names[punkt]);
  690. punkt++;
  691. if (punkt > MAX - 1) punkt = 0;
  692. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_INTENSITY | BACKGROUND_GREEN);
  693. SetConsoleCursorPosition(hConsole, position[punkt]);
  694. puts(names[punkt]); break;
  695. }
  696. }
  697. } while (ch != 13); // enter - выбор пункта меню
  698. switch (punkt)
  699. {
  700. case 0:
  701. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_GREEN);
  702. system("cls");
  703. input();
  704. break;
  705. case 1:
  706. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_GREEN);
  707. system("cls");
  708. view();
  709. system("pause");
  710. break;
  711. case 2:
  712. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_GREEN);
  713. system("cls");
  714. taim();
  715. system("pause");
  716. break;
  717. case 3:
  718. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_GREEN);
  719. system("cls");
  720. igroc();
  721. system("pause");
  722. break;
  723. case 4:
  724. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_GREEN);
  725. system("cls");
  726. sort();
  727. system("pause");
  728. break;
  729. case 5:
  730. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_GREEN);
  731. system("cls");
  732. derevo(&root);
  733. komanda();
  734. View_tree(root);
  735. system("pause");
  736. break;
  737. case 6:
  738. SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_GREEN);
  739. system("cls");
  740. derevo(&root);
  741. if(first==NULL)View_tree_for_spisok(root);
  742. Display(first);
  743. //Create_list(root);
  744. system("pause");
  745. kolsp = 0;
  746. break;
  747. }
  748. } while (punkt != MAX - 1);
  749. return 0;
  750. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement