alexandrheathen

Untitled

Jan 19th, 2019
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.38 KB | None | 0 0
  1. #include <string.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include<locale.h>
  5. #include<windows.h>
  6.  
  7. struct Name
  8. {
  9.     char name[30];
  10.     char sname[30];
  11.     char fname[30];
  12. };
  13. struct Adress
  14. {
  15.     char town[20];
  16.     char street[20];
  17.     char build[20];
  18.     char kvartra[20];
  19.     int phone;
  20. };
  21. struct Avto
  22. {
  23.     char marka[30];
  24.     int anumber;
  25.     int tnumber;
  26.     int year;
  27.     int mounth;
  28.     int day;
  29.     Name nameavto;
  30.     Adress adresavto;
  31. };
  32. Avto Readavto()
  33. {
  34.     Avto newavto;
  35.     printf(" Марка Автомобіля: ");
  36.     getchar();
  37.     gets_s(newavto.marka);
  38.     printf(" Номер Автомобіля: ");
  39.     scanf_s("%d", &newavto.anumber);
  40.     printf(" Номер Техпаспорта: ");
  41.     scanf_s("%d", &newavto.tnumber);
  42.     printf(" День випуску: ");
  43.     scanf_s("%d", &newavto.day);
  44.     printf(" Мiсяць: ");
  45.     scanf_s("%d", &newavto.mounth);
  46.     printf(" Рiк: ");
  47.     scanf_s("%d", &newavto.year);
  48.     getchar();
  49.     printf(" Прізвище: ");
  50.     gets_s(newavto.nameavto.sname);
  51.     printf(" Імя: ");
  52.     gets_s(newavto.nameavto.name);
  53.     printf(" По Батькові :");
  54.     gets_s(newavto.nameavto.fname);
  55.     printf(" Номер телефону:");
  56.     scanf_s("%d", &newavto.adresavto.phone);
  57.     getchar();
  58.     printf(" Місто:");
  59.     gets_s(newavto.adresavto.town);
  60.     printf(" Вулиця:");
  61.     gets_s(newavto.adresavto.street);
  62.     printf(" Будинок:");
  63.     gets_s(newavto.adresavto.build);
  64.     printf(" Квартира:");
  65.     gets_s(newavto.adresavto.kvartra);
  66.    
  67.     return newavto;
  68. }
  69. void Printavto(Avto newavto)
  70. {
  71.     printf("Марка автомобіля: %s| Номер автомобіля: %d| Номер техпаспорта: %d| День випуску: %d| Мiсяць: %d| Рiк %d| Прізвище: %s| Імя: %s| По Батькові: %s| Номер телефону: %d| Місто: %s|  Вулиця: %s|   Будинок: %s|   Квартира: %s| \n", newavto.marka,
  72.         newavto.anumber,
  73.         newavto.tnumber,
  74.         newavto.day,
  75.         newavto.mounth,
  76.         newavto.year,
  77.         newavto.nameavto.sname,
  78.         newavto.nameavto.name,
  79.         newavto.nameavto.fname,
  80.         newavto.adresavto.phone,
  81.         newavto.adresavto.town,
  82.         newavto.adresavto.street,
  83.         newavto.adresavto.build,
  84.         newavto.adresavto.kvartra);
  85. }
  86. void Printavtos(Avto*arr, int ptz)
  87. {
  88.     for (int i = 0; i < ptz; i++)
  89.     {
  90.         printf("arr[%d]: ", i);
  91.         Printavto(arr[i]);
  92.     }
  93. }
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106. int DisplayMenu()
  107. {
  108.  
  109.     int num;
  110.     printf("__________Menu_________\n");
  111.     printf("1. Введiть кiлькiсть авто\n");
  112.     printf("2. Дисплей кiлькостi авто\n");
  113.     printf("3. Меню пошуку\n");
  114.     printf("0. Вихiд\n");
  115.     printf("-> ");
  116.     scanf_s("%d", &num);
  117.     return num;
  118. }
  119. int DisplaySearchMenu()
  120. {
  121.     int search;
  122.     printf("---------Меню пошуку--------\n");
  123.     printf("1. Пошук авто по року\n");
  124.     printf("2. Пошук по техп\n");
  125.     printf("3. Пошук по дню вип\n");
  126.     printf("0. Повернутись до головного меню\n");
  127.     printf("->");
  128.     scanf_s("%d", &search);
  129.     return search;
  130. }
  131. int main()
  132. {
  133.  
  134.     SetConsoleCP(1251);
  135.     SetConsoleOutputCP(1251);
  136.     Avto arr[10];
  137.     int num;
  138.     int ptz;
  139.     int resptz;
  140.     int rezptz;
  141.     int search;
  142.  
  143.     do
  144.     {
  145.         num = DisplayMenu();
  146.         switch (num)
  147.         {
  148.         case 1:
  149.             printf("Введіть кількість авто: ");
  150.             scanf_s("%d", &ptz);
  151.             for (int i = 0; i < ptz; i++)
  152.             {
  153.                 printf("--- arr[%d] ---\n", i);
  154.                 arr[i] = Readavto();
  155.             }
  156.             break;
  157.         case 2:
  158.             Printavtos(arr, ptz);
  159.             break;
  160.         case 3://меню пошуку
  161.             do
  162.             {
  163.                 search = DisplaySearchMenu();
  164.                 switch (search)
  165.                 {
  166.  
  167.                 case 1:
  168.                     int year;
  169.                     resptz = 0;
  170.                     printf("Cout: ");
  171.                     scanf_s("%d", &year);
  172.                     for (int i = 0; i < ptz; i++)
  173.                         if (arr[i].year == year)
  174.                         {
  175.                             Printavto(arr[i]);
  176.                             resptz++;
  177.                         }
  178.                 case 2:
  179.  
  180.                     int tnumber;
  181.                     rezptz = 0;
  182.                     printf("Cout: ");
  183.                     scanf_s("%d", &tnumber);
  184.                     for (int i = 0; i < ptz; i++)
  185.                         if (arr[i].tnumber == tnumber)
  186.                         {
  187.                             Printavto(arr[i]);
  188.                             rezptz++;
  189.                         }
  190.                     if (rezptz == 0)
  191.                         printf("...........Message.... \n");
  192.                     break;
  193.                 case 3:
  194.                     int day;
  195.                     resptz = 0;
  196.                     printf("Cout: ");
  197.                     scanf_s("%d", &day);
  198.                     for (int i = 0; i < ptz; i++)
  199.                         if (arr[i].day == day)
  200.                         {
  201.                             Printavto(arr[i]);
  202.                             resptz++;
  203.                         }
  204.  
  205.  
  206.                 case 4:
  207.  
  208.                     int udalenie(Avto newavto, int n);
  209.                     {
  210.                         int n = 0, f, u = 1;
  211.                         int k, n2;
  212.                         printf("\tСтворення структури. Введіть кількість рядків: ");
  213.                         scanf("%d", &k);
  214.                         n2 = n + k;
  215.                         Avto* newavto = (Avto*)calloc(n2, sizeof(Avto));
  216.                         for (int i = n; i < n2; i++)
  217.  
  218.                             int tmp;
  219.                         int b = 0;
  220.                         printf("1. День 2. Місяць 3. Рік\nЗробіть вибір: ");
  221.                         scanf_s("%d", &a);
  222.                         printf("Введіть число яке треба знайти: ");
  223.                         scanf_s("%d", &b);
  224.                         for (int j = 0; j < n; j++) {
  225.                             if (newavto[j].mounth[a] == b)
  226.                                 k++;
  227.                         }
  228.                         for (int i = n - 1; i >= 0; i--)
  229.                         {
  230.                             for (int j = 0; j < i; j++) {
  231.                                 if (newavto[j].mounth[a] == b) {
  232.                                     tmp = newavto[j + 1];
  233.                                     newavto[j + 1] = newavto[j];
  234.                                     newavto[j] = tmp;
  235.                                 }
  236.                             }
  237.                         } break;
  238.                     }
  239.  
  240.  
  241.                 } while (search != 0);
  242.  
  243.             }
  244.         } while (num != 0);
  245.         system("pause");
  246.         return 0;
  247.     }
  248. }
Add Comment
Please, Sign In to add comment