Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 23.84 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <conio.h>
  6. #include <windows.h>
  7. #include <string.h>
  8.  
  9. #define SC system("cls");
  10. #define SP system("pause");
  11. #define TZP printf("\n\aТаблица заказов пуста\n");
  12. #define TPP printf("\n\aТаблица продукции пуста\n");
  13. #define gets gets_s
  14. void menu(void); // Меню выбора администратора либо пользователя
  15. void menuAdm(void); // Меню администратора
  16. void menuPol(void);// Меню пользователя
  17. void menuSKR(void); // Меню ввода продукции либо заказа
  18. void menuexit(void); // Меню выхода
  19. void exitProg(void); // функция закрытия программы
  20. void vvod(void); // функция ввода
  21. void zapis(void);  // функция записи продукции
  22. void vvodZak(void); // функция ввода заказа
  23. void menusort(void); // меню сортировки
  24. void menusearch(void);// меню поиска
  25. void menuvivod(void); // мею вывода
  26. void sort(void); // функция сортировки продукции
  27. void sortZak(void); // функция сортировки заказов
  28. void searchZak(void); // функция поиска заказов
  29. void search(void); // функция поиска продукции
  30. void change(void); // функция изменения продукции
  31. void changemenu(void); // меню изменения
  32. void changeZak(void); // функция изменения заказов
  33. void deletee(void); // функция удаления продукции
  34. void deleteemenu(void); // меню удаления
  35. void deleteeZak(void); //функция удаления заказов
  36. void deleteePol(void); // функция удаления пользователей
  37. void vivodProd(void); // функция вывода продукции
  38. void vivodZakaz(void); // функция вывода заказов
  39. void zapisZak(void); // функция записи заказов
  40. void loginAdmin(void); // функция отвечающая за ввод логина и пароля для администратора
  41. void loginPol(void); // функция отвещающая за ввод логина и пароля для пользователя
  42. void addPol(void); // функция добавления нового пользователя
  43. void addAdmn(void);// функция добавления нового админа
  44.  
  45.  
  46. int structsize = 0, i, j, k, kol, q, intbuf,res,structsize1 = 0, structsize2 = 0,bal,vib=0;
  47. char choice, buffer[30], check, block;
  48.  
  49.  
  50. struct struct1 {
  51.     char prod[30], kolv[30], data[30];
  52.     int sum,sumZa;
  53.  
  54. };
  55.  
  56. struct struct1 client[50];
  57. struct struct1 tmp;
  58.  
  59. struct struct2 {
  60.     char prodz[30], kolvz[30], dataz[30], adres[30];
  61.     int stom;
  62.  
  63. };
  64.  
  65. struct struct2 clp[50];
  66. struct struct2 ppa;
  67.  
  68.  
  69. struct struct3 {
  70.     char login[30], parol[30];
  71.     char role[30];
  72. };
  73. struct struct3 pip[50];
  74. int pipsize=0;
  75.  
  76.  
  77.  
  78. FILE *file,*file2,*file3;
  79.  
  80. void vhodADMIN(){
  81.     char login[30],parol[30],role[30];
  82.     strcpy(role,"admin");
  83.     int i;
  84.     printf("Введите логин\n");
  85.     fflush(stdin);
  86.     gets(login);
  87.     printf("Введите пароль\n");
  88.     fflush(stdin);
  89.     gets(parol);
  90.     for (i=0;i<pipsize;i++){
  91.         if (strcmp(pip[i].login)==0 && strcmp(pip[i].parol,parol) && strcmp(pip[i].role,role)){
  92.             menuAdm();
  93.             system("cls");
  94.             return;
  95.         }
  96.     }
  97.     printf("Ошибка входа\n");
  98.     system("pause");
  99. }
  100.  
  101. void vhod(){
  102.     char login[30],parol[30],role[30];
  103.     strcpy(role,"user");
  104.     int i;
  105.     printf("Введите логин\n");
  106.     fflush(stdin);
  107.     gets(login);
  108.     printf("Введите пароль\n");
  109.     fflush(stdin);
  110.     gets(parol);
  111.     for (i=0;i<pipsize;i++){
  112.         if (strcmp(pip[i].login)==0 && strcmp(pip[i].parol,parol) && strcmp(pip[i].role,role)){
  113.             menuAdm();
  114.             system("cls");
  115.             return;
  116.         }
  117.     }
  118.     printf("Ошибка входа\n");
  119.     system("pause");
  120. }
  121.  
  122. void menu(void) {
  123.     while (1) {
  124.         printf("1)Войти как администратор\n2)Войти как пользователь\n0)Выйти из программы\n");
  125.         scanf("%c", &block);
  126.         switch (block)
  127.         {
  128.         case '1':
  129.             SC
  130.             menuAdm();
  131.             system("cls");
  132.             break;
  133.         case '2':
  134.             SC
  135.             printf("1)Аккаунт существует\n");
  136.             printf("2)Создать новый аккаунт\n");
  137.             printf("0)Назад\n");
  138.             SP
  139.             SC
  140.  
  141.             menuPol();
  142.             system("cls");
  143.             break;
  144.         case '0':
  145.             SC
  146.                 exitProg();
  147.             system("cls");
  148.             break;
  149.             return;
  150.         default:
  151.             system("cls");
  152.             break;
  153.         }
  154.     }
  155.     system("cls");
  156. }
  157. void menuAdm(void){
  158.     while (1) {
  159.         printf("МЕНЮ АДМИНИСТРАТОРА\n1)Меню ввода данных\n2)Меню сортировки\n3)Меню поиска\n4)Меню изменения\n5)Меню удаления\n6)меню вывода\n7)Управление пользователями\n0)Выйти\n");
  160.         scanf(" %c", &choice);
  161.         switch (choice)
  162.         {
  163.         case '1':
  164.             SC
  165.             menuSKR();
  166.             system("cls");
  167.             break;
  168.         case '2':
  169.             SC
  170.             if (structsize < 1 && structsize1 < 1) {
  171.                 printf("Ведите данные!\n");
  172.                 SP
  173.                     SC
  174.                 break;
  175.             }
  176.             SC
  177.             menusort();
  178.             SC
  179.             break;
  180.         case '3':
  181.             SC
  182.             if (structsize < 1 && structsize1 < 1) {
  183.                 printf("Ведите данные!\n");
  184.                 SP
  185.                     SC
  186.                 break;
  187.             }
  188.             SC
  189.             menusearch();
  190.             SC
  191.             break;
  192.         case '4':
  193.             SC
  194.             if (structsize < 1 && structsize1 < 1) {
  195.                
  196.                 printf("Ведите данные!\n");
  197.                 SP
  198.                     SC
  199.                 break;
  200.             }
  201.             SC
  202.             changemenu();
  203.             SP 
  204.             SC 
  205.                 break;
  206.         case '5':
  207.             SC
  208.             if (structsize < 1 && structsize1 < 1) {
  209.                
  210.                 printf("Ведите данные!\n");
  211.                 SP
  212.                     SC
  213.                 break;
  214.             }
  215.             SC
  216.                 deleteemenu();
  217.             SP
  218.                 SC
  219.             break;
  220.         case '6':
  221.             SC
  222.             if (structsize < 1 && structsize1 < 1) {
  223.                
  224.                 printf("Ведите данные!\n");
  225.                 SP
  226.                     SC
  227.                 break;
  228.             }
  229.             menuvivod();
  230.             SP
  231.                 SC
  232.             break;
  233.         case '7':
  234.             deleteePol();
  235.             system("cls");
  236.             break;
  237.         case '0':
  238.             SC
  239.                 menuexit();
  240.             system("cls");
  241.             break;
  242.         default:
  243.             system("cls");
  244.             break;
  245.         }
  246.     }
  247.     return;
  248. }
  249.  
  250. void vvod(void)
  251. {
  252.     printf("#%d\n", structsize + 1);
  253.     printf("Тип продукции\n");
  254.     fflush(stdin);
  255.     gets(client[structsize].prod);
  256.     gets(client[structsize].prod);
  257.     printf("Количество\n");
  258.     fflush(stdin);
  259.     gets(client[structsize].kolv);
  260.     printf("Цена за всю партию\n");
  261.     scanf("%d", &client[structsize].sum);
  262.     printf("Цена за десток\n");
  263.     scanf("%d", &client[structsize].sumZa);
  264.     printf("Дата последнего изменения\n");
  265.     fflush(stdin);
  266.     gets(client[structsize].data);
  267.     gets(client[structsize].data);
  268.     structsize++;
  269.     while (1) {
  270.         printf("\n1)продолжить ввод\n2)прекратить\n");
  271.         scanf(" %c", &choice);
  272.         switch (choice) {
  273.         case '1':
  274.  
  275.             printf("#%d\n", structsize + 1);
  276.             printf("Тип продукции\n");
  277.             fflush(stdin);
  278.             gets(client[structsize].prod);
  279.             gets(client[structsize].prod);
  280.             printf("Количество\n");
  281.             fflush(stdin);
  282.             gets(client[structsize].kolv);
  283.             printf("Цена за всю партию\n");
  284.             scanf("%d", &client[structsize].sum);
  285.             printf("Цена за десток\n");
  286.             scanf("%d", &client[structsize].sumZa);
  287.             printf("Дата последнего изменения\n");
  288.             fflush(stdin);
  289.             gets(client[structsize].data);
  290.             gets(client[structsize].data);
  291.             structsize++;
  292.             break;
  293.         case '2':
  294.             zapis();
  295.             return;
  296.         default:
  297.             system("cls");
  298.             break;
  299.         }
  300.     }
  301.     return;
  302. }
  303.  
  304. void loginPol(void) {
  305.  
  306. }
  307. void loginAdmin(void) {
  308.  
  309.    
  310. }
  311.  
  312. void addPol(void) {
  313.  
  314. }
  315.  
  316. void addAdmn(void) {
  317.  
  318. }
  319.  
  320. void vvodZak(void)
  321. {
  322.     printf("#%d\n", structsize1 + 1);
  323.     printf("Тип продукции\n");
  324.     fflush(stdin);
  325.     gets(clp[structsize1].prodz);
  326.     gets(clp[structsize1].prodz);
  327.     printf("Нужное количество(десятки)\n");
  328.     fflush(stdin);
  329.     gets(clp[structsize1].kolvz);
  330.     printf("Стоимость заказа\n");
  331.     scanf("%d", &clp[structsize1].stom);
  332.     printf("Дата добавления заказа:\n");
  333.     fflush(stdin);
  334.     gets(clp[structsize1].dataz);
  335.     gets(clp[structsize1].dataz);
  336.     printf("Адрес:\n ");
  337.     fflush(stdin);
  338.     gets(clp[structsize1].adres);
  339.     structsize1++;
  340.     while (1) {
  341.         printf("\n1)продолжить ввод\n2)прекратить\n");
  342.         scanf(" %c", &choice);
  343.         switch (choice) {
  344.         case '1':
  345.             printf("#%d\n", structsize1 + 1);
  346.             printf("Тип продукции:\n");
  347.             fflush(stdin);
  348.             gets(clp[structsize1].prodz);
  349.             gets(clp[structsize1].prodz);
  350.             printf("Нужное количество:\n");
  351.             fflush(stdin);
  352.             gets(clp[structsize1].kolvz);
  353.             printf("Стоимость заказа:\n");
  354.             scanf("%d", &clp[structsize1].stom);
  355.             printf("Дата добавления заказа:\n");
  356.             fflush(stdin);
  357.             gets(clp[structsize1].dataz);
  358.             gets(clp[structsize1].dataz);
  359.             printf("Адрес:\n ");
  360.             fflush(stdin);
  361.             gets(clp[structsize1].adres);
  362.             structsize1++;
  363.             break;
  364.         case '2':
  365.             zapisZak();
  366.             return;
  367.         default:
  368.             system("cls");
  369.             break;
  370.         }
  371.     }
  372.     return;
  373. }
  374.  
  375.  
  376. void menusort(void)
  377. {
  378.     while (1) {
  379.         printf("1)Сортировать продукцию\n2)Сортировать заказы\n0)Выйти\n");
  380.         scanf(" %c", &block);
  381.         switch (block)
  382.         {
  383.         case '1':
  384.             SC
  385.                 sort();
  386.             system("cls");
  387.             break;
  388.         case '2':
  389.             SC
  390.                 sortZak();
  391.             system("cls");
  392.             break;
  393.         case '0':
  394.             return;
  395.         default:
  396.             system("cls");
  397.             break;
  398.         }
  399.     }
  400.     system("cls");
  401. }
  402.  
  403. void menusearch(void)
  404. {
  405.     while (1) {
  406.         printf("1)Поиск продукции\n2)Поиск заказов\n0)Выйти\n");
  407.         scanf(" %c", &block);
  408.         switch (block)
  409.         {
  410.         case '1':
  411.             SC
  412.                 search();
  413.             SP
  414.             system("cls");
  415.             break;
  416.         case '2':
  417.             SC
  418.                 searchZak();
  419.             SP
  420.             system("cls");
  421.             break;
  422.         case '0':
  423.             return;
  424.         default:
  425.             system("cls");
  426.             break;
  427.         }
  428.     }
  429.     system("cls");
  430. }
  431.  
  432. void menuSKR(void)
  433. {
  434.     while (1) {
  435.         printf("1)Ввести продукцию\n2)Ввести заказы\n0)Выйти\n");
  436.         scanf(" %c", &block);
  437.         switch (block)
  438.         {
  439.         case '1':
  440.             SC
  441.                 vvod();
  442.             system("cls");
  443.             break;
  444.         case '2':
  445.             SC
  446.                 vvodZak();
  447.             system("cls");
  448.             break;
  449.         case '0':
  450.             return;
  451.         default:
  452.             system("cls");
  453.             break;
  454.         }
  455.     }
  456.     system("cls");
  457. }
  458.  
  459. void sort(void) {
  460.  
  461.        
  462. }
  463.  
  464. void sortZak(void)
  465. {
  466.     for (i = 0; i < structsize1; i++) {
  467.         for (j = 0; j < structsize1; j++) {
  468.             if (clp[i].stom > clp[j].stom) {
  469.                 ppa = clp[j];
  470.                 clp[j] = clp[i];
  471.                 clp[i] = ppa;
  472.             }
  473.         }
  474.     }
  475.     return;
  476. }
  477.  
  478. void zapis(void)
  479. {
  480.     if (vib == 0) {
  481.  
  482.  
  483.         file = fopen("test.txt", "a");
  484.         fprintf(file, "\n");
  485.         fprintf(file, "|   Тип Продукции   |     Количество    | Цена всей партии |  Цена за десяток  |   Дата изменения  |");
  486.         fprintf(file, "\n");
  487.         fprintf(file, "|___________________|___________________|__________________|___________________|___________________|");
  488.    
  489.         vib++;
  490.  
  491.     }
  492.     else {
  493.         vib++;
  494.     }
  495.         for (i = 0; i < structsize; i++)
  496.         {
  497.             fprintf(file, "\n");
  498.             fprintf(file, "|%d)%17s|%19s|%14d BYN|%15d BYN|%19s|", i + 1, client[i].prod, client[i].kolv, client[i].sum, client[i].sum, client[i].data);
  499.             fprintf(file, "\n");
  500.             fprintf(file, "|___________________|___________________|__________________|___________________|___________________|");
  501.             vib++;
  502.         }
  503.  
  504.    
  505.     return;
  506.     fclose(file);
  507.     getchar();
  508. }
  509. void zapisZak(void) {
  510.     file2 = fopen("zakazi.txt", "a");
  511.     if (structsize1 == 0)
  512.     {
  513.         printf("Введите что нить\n");
  514.     }
  515.     else {
  516.         fprintf(file2, "\n");
  517.         fprintf(file2,"|   Тип Продукции   |     Количество    |    Общая цена    |     Дата заказа   |   Адрес доставки  |");
  518.         fprintf(file2, "\n");
  519.         fprintf(file2,"|___________________|___________________|__________________|___________________|___________________|");
  520.         for (i = 0; i < structsize1; i++)
  521.         {
  522.             fprintf(file2, "\n");
  523.             fprintf(file2,"|%d)%17s|%19s|%14d BYN|%19s|%19s|", i + 1, clp[i].prodz, clp[i].kolvz, clp[i].stom, clp[i].dataz, clp[i].adres);
  524.             fprintf(file2,"\n");
  525.             fprintf(file2,"|___________________|___________________|__________________|___________________|___________________|");
  526.         }
  527.     }
  528.     return;
  529.     fclose(file2);
  530.     getchar();
  531. }
  532. void deleteePol(void)
  533. {
  534.     SC
  535.     printf("1)Создать нового пользователя\n");
  536.     printf("2)Удалить пользователя\n");
  537.     printf("3)Изменить пароль\n");
  538.     printf("0)Назад\n");
  539.     Sleep(1700);
  540.     SP
  541. }
  542. void deleteemenu(void)
  543. {
  544.     while (1) {
  545.         printf("1)Удалить продукцию\n2)Удалить заказ\n0)Выйти\n");
  546.         scanf(" %c", &block);
  547.         switch (block)
  548.         {
  549.         case '1':
  550.             SC
  551.                 deletee();
  552.             SP
  553.             system("cls");
  554.             break;
  555.         case '2':
  556.             SC
  557.                 deleteeZak();
  558.             SP
  559.             system("cls");
  560.             break;
  561.         case '0':
  562.             return;
  563.         default:
  564.             system("cls");
  565.             break;
  566.         }
  567.     }
  568.     system("cls");
  569. }
  570. void search(void) {
  571.     printf("Искать\n1)Тип продукции\n2)Количество\n3)Цену\n4)Дату посл. изменения\n");
  572.     scanf(" %c", &choice);
  573.     char searchvar[30];
  574.     int flag = 0, searchint;
  575.     switch (choice)
  576.     {
  577.     case '1':
  578.         kol = 0;
  579.         printf("?-> ");
  580.         fflush(stdin);
  581.         gets(searchvar);
  582.         gets(searchvar);
  583.         puts("");
  584.         for (i = 0; i < structsize; i++) {
  585.             if (strcmp(searchvar, client[i].prod) == 0) {
  586.                 kol++;
  587.                 printf("Продукция %s\nКоличество %s\nЦена %d\nДата посл. изменения %s\n\n", client[i].prod, client[i].kolv, client[i].sum, client[i].data);
  588.             }
  589.         }
  590.         break;
  591.     case '2':
  592.         kol = 0;
  593.         printf("?-> ");
  594.         fflush(stdin);
  595.         gets(searchvar);
  596.         gets(searchvar);
  597.         puts("");
  598.         for (i = 0; i < structsize; i++) {
  599.             if (strcmp(searchvar, client[i].kolv) == 0) {
  600.                 kol++;
  601.                 printf("Продукция %s\nКоличество %s\nЦена %d\nДата посл. изменения %s\n\n", client[i].prod, client[i].kolv, client[i].sum, client[i].data);
  602.             }
  603.         }
  604.         break;
  605.     case '3':
  606.         kol = 0;
  607.         printf("?-> ");
  608.         scanf("%d", &searchint);
  609.         puts("");
  610.         for (i = 0; i < structsize; i++) {
  611.             if (searchint == client[i].sum) {
  612.                 kol++;
  613.                 printf("Продукция %s\nКоличество %s\nЦена %d\nДата посл. изменения %s\n\n", client[i].prod, client[i].kolv, client[i].sum, client[i].data);
  614.             }
  615.         }
  616.         break;
  617.     case '4':
  618.         kol = 0;
  619.         printf("?-> ");
  620.         fflush(stdin);
  621.         gets(searchvar);
  622.         gets(searchvar);
  623.         puts("");
  624.         for (i = 0; i < structsize; i++) {
  625.             if (strcmp(searchvar, client[i].data) == 0) {
  626.                 kol++;
  627.                 printf("Продукция %s\nКоличество %s\nЦена %d\nДата посл. изменения %s\n\n", client[i].prod, client[i].kolv, client[i].sum, client[i].data);
  628.             }
  629.         }
  630.         break;
  631.     default:
  632.         system("cls");
  633.         break;
  634.     }
  635.     return;
  636. }
  637.  
  638. void searchZak(void) {
  639.     printf("Искать\n1)Тип продукции\n2)Количество\n3)Цену\n4)Дату посл. изменения\n5)Адрес\n0)Выход\n");
  640.     scanf(" %c", &choice);
  641.     char searchvar2[30];
  642.     int flag2 = 0, searchint2;
  643.     switch (choice)
  644.     {
  645.     case '1':
  646.         kol = 0;
  647.         printf("?-> ");
  648.         fflush(stdin);
  649.         gets(searchvar2);
  650.         gets(searchvar2);
  651.         puts("");
  652.         for (i = 0; i < structsize1; i++) {
  653.             if (strcmp(searchvar2, clp[i].prodz) == 0) {
  654.                 kol++;
  655.                 printf("Продукция %s\nКоличество %s\nЦена %d\nДата посл. изменения %s\nАдрес %s\n\n", clp[i].prodz, clp[i].kolvz, clp[i].stom, clp[i].dataz, clp[i].adres);
  656.             }
  657.         }
  658.         break;
  659.     case '2':
  660.         kol = 0;
  661.         printf("?-> ");
  662.         fflush(stdin);
  663.         gets(searchvar2);
  664.         gets(searchvar2);
  665.         puts("");
  666.         for (i = 0; i < structsize1; i++) {
  667.             if (strcmp(searchvar2, clp[i].kolvz) == 0) {
  668.                 kol++;
  669.                 printf("Продукция %s\nКоличество %s\nЦена %d\nДата посл. изменения %s\nАдрес %s\n\n", clp[i].prodz, clp[i].kolvz, clp[i].stom, clp[i].dataz, clp[i].adres);
  670.             }
  671.         }
  672.         break;
  673.     case '3':
  674.         kol = 0;
  675.         printf("?-> ");
  676.         scanf("%d", &searchint2);
  677.         puts("");
  678.         for (i = 0; i < structsize1; i++) {
  679.             if (searchint2 == clp[i].stom) {
  680.                 kol++;
  681.                 printf("Продукция %s\nКоличество %s\nЦена %d\nДата посл. изменения %s\nАдрес %s\n\n", clp[i].prodz, clp[i].kolvz, clp[i].stom, clp[i].dataz, clp[i].adres);
  682.             }
  683.         }
  684.         break;
  685.     case '4':
  686.         kol = 0;
  687.         printf("?-> ");
  688.         fflush(stdin);
  689.         gets(searchvar2);
  690.         gets(searchvar2);
  691.         puts("");
  692.         for (i = 0; i < structsize1; i++) {
  693.             if (strcmp(searchvar2, clp[i].dataz) == 0) {
  694.                 kol++;
  695.                 printf("Продукция %s\nКоличество %s\nЦена %d\nДата посл. изменения %s\nАдрес %s\n\n", clp[i].prodz, clp[i].kolvz, clp[i].stom, clp[i].dataz, clp[i].adres);
  696.             }
  697.         }
  698.         break;
  699.     case '5':
  700.         kol = 0;
  701.         printf("?-> ");
  702.         fflush(stdin);
  703.         gets(searchvar2);
  704.         gets(searchvar2);
  705.         puts("");
  706.         for (i = 0; i < structsize1; i++) {
  707.             if (strcmp(searchvar2, clp[i].adres) == 0) {
  708.                 kol++;
  709.                 printf("Продукция %s\nКоличество %s\nЦена %d\nДата посл. изменения %s\nАдрес %s\n\n", clp[i].prodz, clp[i].kolvz, clp[i].stom, clp[i].dataz, clp[i].adres);
  710.             }
  711.         }
  712.         break;
  713.     case '0':
  714.         return;
  715.     default:
  716.         system("cls");
  717.         break;
  718.     }
  719.     return;
  720. }
  721. void change(void) {
  722.     vivodProd();
  723.     printf("\nИзменить\n");
  724.     scanf("%d", &i);
  725.     if (i<1 || i>structsize) {
  726.         printf("ошибка\n");
  727.         return;
  728.     }
  729.     printf("1)Продукция \n2)Количество\n3)Цена\n4)Дата\n");
  730.     scanf(" %c", &choice);
  731.     switch (choice)
  732.     {
  733.     case '1':
  734.         printf("Введите продукцию\n");
  735.         fflush(stdin);
  736.         gets(client[i - 1].prod);
  737.         gets(client[i - 1].prod);
  738.         break;
  739.     case '2':
  740.         printf("Введите количество\n ");
  741.         fflush(stdin);
  742.         gets(client[i - 1].kolv);
  743.         gets(client[i - 1].kolv);
  744.         break;
  745.     case '3':
  746.         printf("Введите цену\n ");
  747.         scanf("%d", &client[i - 1].sum);
  748.         break;
  749.     case '4':
  750.         printf("Введите дату\n");
  751.         fflush(stdin);
  752.         gets(client[i - 1].data);
  753.         gets(client[i - 1].data);
  754.         break;
  755.     default:
  756.         system("cls");
  757.         break;
  758.     }
  759.     return;
  760. }
  761.  
  762. void changemenu(void)
  763. {
  764.     while (1) {
  765.         printf("1)Изменить продукцию\n2)Изменить заказы\n0)Выйти\n");
  766.         scanf(" %c", &block);
  767.         switch (block)
  768.         {
  769.         case '1':
  770.             SC
  771.                 change();
  772.             system("cls");
  773.             break;
  774.         case '2':
  775.             SC
  776.                 changeZak();
  777.             system("cls");
  778.             break;
  779.         case '0':
  780.             return;
  781.         default:
  782.             system("cls");
  783.             break;
  784.         }
  785.     }
  786.     system("cls");
  787. }
  788. void changeZak(void)
  789. {
  790.     vivodZakaz();
  791.     printf("\nИзменить\n");
  792.     scanf("%d", &i);
  793.     if (i<1 || i>structsize1) {
  794.         printf("ошибка\n");
  795.         return;
  796.     }
  797.     printf("1)Продукция \n2)Количество\n3)Цена\n4)Дата\n5)Адрес\n0)Выход");
  798.     scanf(" %c", &choice);
  799.     switch (choice)
  800.     {
  801.     case '1':
  802.         printf("Введите продукцию\n");
  803.         fflush(stdin);
  804.         gets(clp[i - 1].prodz);
  805.         gets(clp[i - 1].prodz);
  806.         break;
  807.     case '2':
  808.         printf("Введите количество\n ");
  809.         fflush(stdin);
  810.         gets(clp[i - 1].kolvz);
  811.         gets(clp[i - 1].kolvz);
  812.         break;
  813.     case '3':
  814.         printf("Введите цену\n ");
  815.         scanf("%d", &clp[i - 1].stom);
  816.         break;
  817.     case '4':
  818.         printf("Введите дату\n");
  819.         fflush(stdin);
  820.         gets(clp[i - 1].dataz);
  821.         gets(clp[i - 1].dataz);
  822.         break;
  823.     case '5':
  824.         printf("Введите адрес\n");
  825.         fflush(stdin);
  826.         gets(clp[i - 1].adres);
  827.         gets(clp[i - 1].adres);
  828.         break;
  829.     case '0':
  830.         return;
  831.     default:
  832.         system("cls");
  833.         break;
  834.     }
  835.     return;
  836. }
  837. void deletee(void) {
  838.     vivodProd();
  839.     printf("Доступно для удаления %d\nУдалить поле №\n",structsize);
  840.     scanf("%d", &j);
  841.     if (j<1 || j>structsize) {
  842.         printf("Такой структуры не существует\n");
  843.         return;
  844.     }
  845.     for (i = j - 1; i < structsize; i++) {
  846.         client[i] = client[i + 1];
  847.         structsize--;
  848.     }
  849.     return;
  850. }
  851.  
  852. void deleteeZak(void)
  853. {
  854.     vivodZakaz();
  855.     printf("Доступно для удаления %d\nУдалить поле №\n", structsize1);
  856.     scanf("%d", &j);
  857.     if (j<1 || j>structsize1) {
  858.         printf("Такой структуры не существует\n");
  859.         return;
  860.     }
  861.     for (i = j - 1; i < structsize1; i++) {
  862.         clp[i] = clp[i + 1];
  863.         structsize1--;
  864.     }
  865.     return;
  866.  
  867. }
  868.  
  869.  
  870. void vivodProd(void) {
  871.     if (structsize == 0)
  872.     {
  873.         printf("Введите что нить\n");
  874.     }
  875.     else {
  876.  
  877.         puts("|   Тип Продукции   |     Количество    | Цена всей партии |  Цена за десяток  |   Дата изменения  |");
  878.         puts("|___________________|___________________|__________________|___________________|___________________|");
  879.         for (i = 0; i < structsize; i++)
  880.         {
  881.  
  882.             printf("|%d)%17s|%19s|%14d BYN|%15d BYN|%19s|", i + 1, client[i].prod, client[i].kolv, client[i].sum, client[i].sum, client[i].data);
  883.             printf("\n");
  884.             puts("|___________________|___________________|__________________|___________________|___________________|");
  885.         }
  886.     }
  887.     return;
  888. }
  889.  
  890. void vivodZakaz(void)
  891. {
  892.     if (structsize1 == 0)
  893.     {
  894.         printf("Введите что нить\n");
  895.     }
  896.     else {
  897.         puts("___________________________________________________________________________________________________");
  898.         puts("|   Тип Продукции   |     Количество    |    Общая цена    |     Дата заказа   |   Адрес доставки  |");
  899.         puts("|___________________|___________________|__________________|___________________|___________________|");
  900.         for (i = 0; i < structsize1; i++)
  901.         {
  902.  
  903.             printf("|%d)%17s|%19s|%14d BYN|%19s|%19s|", i + 1, clp[i].prodz, clp[i].kolvz, clp[i].stom, clp[i].dataz, clp[i].adres);
  904.             printf("\n");
  905.             puts("|___________________|___________________|__________________|___________________|___________________|");
  906.         }
  907.     }
  908.     return;
  909. }
  910.  
  911. void menuvivod(void)
  912. {
  913.     while (1) {
  914.         printf("1)Вывести продукцию\n2)Вывести заказы\n0)Выйти\n");
  915.         scanf(" %c", &block);
  916.         switch (block)
  917.         {
  918.         case '1':
  919.             SC
  920.                 vivodProd();
  921.             SP
  922.             system("cls");
  923.             break;
  924.         case '2':
  925.             SC
  926.                 vivodZakaz();
  927.             SP
  928.             system("cls");
  929.             break;
  930.         case '0':
  931.             return;
  932.         default:
  933.             system("cls");
  934.             break;
  935.         }
  936.     }
  937.     system("cls");
  938. }
  939. void menuPol(void)
  940. {
  941.     while (1) {
  942.         printf("МЕНЮ ПОЛЬЗОВАТЕЛЯ\n1)Просмотреть продукцию\n2)Просмотреть заказы\n3)Отсортировать продукцию\n4)Найти\n5)Отсортировать заказы\n0)Выйти\n");
  943.         scanf(" %c", &choice);
  944.         switch (choice)
  945.         {
  946.         case '1':
  947.             if (structsize < 1) {
  948.                 SC
  949.                 printf("Администратор не в нёс данные либо список пуст\n");
  950.                 SP
  951.                     SC
  952.                 break;
  953.             }
  954.             SC
  955.             vivodProd();
  956.            
  957.             SP
  958.             SC
  959.             break;
  960.         case '2':
  961.              if (structsize1 < 1) {
  962.                 SC
  963.                  printf("Администратор не в нёс данные либо список пуст\n");
  964.                  SP
  965.                 SC
  966.                  break;
  967.              }
  968.              SC
  969.              vivodZakaz();
  970.            
  971.              SP
  972.             SC
  973.              break;
  974.         case '3':
  975.             if (structsize < 1) {
  976.                 SC
  977.                 printf("Администратор не в нёс данные либо список пуст\n");
  978.                 SP
  979.                     SC
  980.                 break;
  981.             }
  982.             SC
  983.             sort();
  984.             break;
  985.         case '4':
  986.             if (structsize < 1) {
  987.                 SC
  988.                 printf("Администратор не в нёс данные либо список пуст\n");
  989.                 SP
  990.                     SC
  991.                 break;
  992.             }
  993.             SC
  994.             search();
  995.             SP
  996.                 SC
  997.             break;
  998.         case '5':
  999.             if (structsize1 < 1) {
  1000.                 SC
  1001.                 printf("Администратор не в нёс данные либо список пуст\n");
  1002.                 SP
  1003.                     SC
  1004.                 break;
  1005.             }
  1006.             SC
  1007.             sortZak();
  1008.             SP
  1009.                 SC
  1010.             break;
  1011.         case '0':
  1012.             SC
  1013.                 menuexit();
  1014.             system("cls");
  1015.             break;
  1016.         default:
  1017.             system("cls");
  1018.             break;
  1019.         }
  1020.     }
  1021.     return;
  1022. }
  1023. void menuexit(void)
  1024. {
  1025.     while (1) {
  1026.         printf("Выйти в меню пользователей?\n1)Да\n2)Нет\n");
  1027.         scanf(" %c", &block);
  1028.         switch (block)
  1029.         {
  1030.         case '1':
  1031.             SC
  1032.                 menu();
  1033.             system("cls");
  1034.             break; 
  1035.         case '2':
  1036.             return;
  1037.             break;
  1038.         default:
  1039.             system("cls");
  1040.             break;
  1041.         }
  1042.     }
  1043.     system("cls");
  1044. }
  1045. void exitProg(void)
  1046. {
  1047.     while (1) {
  1048.         printf("Выйти из программы?\n1)Да\n2)Нет\n");
  1049.         scanf(" %c", &block);
  1050.         switch (block)
  1051.         {
  1052.         case '1':
  1053.             exit(0);
  1054.             SC
  1055.         case '2':
  1056.             SC
  1057.                 menu();
  1058.             SC
  1059.             break;
  1060.         default:
  1061.             system("cls");
  1062.             break;
  1063.         }
  1064.     }
  1065.     system("cls");
  1066. }
  1067. int main(void) {
  1068.     SetConsoleCP(1251);
  1069.     SetConsoleOutputCP(1251);
  1070.     menu();
  1071.     return 0;
  1072. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement