Advertisement
3axap_010

main.cpp

Dec 12th, 2019
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.34 KB | None | 0 0
  1. #include "Detail.h"
  2.  
  3. #include <clocale>
  4. #include <vector>
  5.  
  6. int main()
  7. {
  8.     setlocale(LC_ALL, "Russian");
  9.  
  10.     std::fstream details("details.txt", std::ios::in | std::ios::out);
  11.     std::fstream details1("details1.bin", std::ios::in | std::ios::out | std::ios::binary);
  12.  
  13.     Detail detail;
  14.  
  15.     int ch;
  16.     do
  17.     {
  18.         std::cout.flush();
  19.         menu();
  20.         ch = choose();
  21.  
  22.         switch (ch)
  23.         {
  24.         case 1:
  25.             std::cout << std::endl;
  26.             std::cout << "Введите данные (id, mass, name): " << std::endl;
  27.             detail = get_detail(std::cin);
  28.             std::cout << "Создана деталь: " << detail;
  29.             std::cout << std::endl;
  30.             break;
  31.         case 2:
  32.             std::cout << std::endl;
  33.             details.seekp(0, std::ios::end);
  34.             details << detail;
  35.             std::cout << "Данные детали успешно записаны в файл\n";
  36.             std::cout << std::endl;
  37.             break;
  38.         case 3:
  39.             std::cout << std::endl;
  40.             details.seekp(0, std::ios::end);
  41.             detail.write(details1);
  42.             std::cout << "Данные детали успешно записаны в файл\n";
  43.             std::cout << std::endl;
  44.             break;
  45.         case 4:
  46.             std::cout << std::endl;
  47.             std::cout << "Данные детали успешно записаны в файл\n";
  48.             details.seekp(0, std::ios::end);
  49.             detail.cwrite(details);
  50.             std::cout << std::endl;
  51.             break;
  52.         case 5:
  53.             std::cout << std::endl;
  54.             details.seekg(std::ios::beg);
  55.             while (details >> detail)
  56.             {
  57.                 std::cout << detail;
  58.             }
  59.             std::cout << std::endl;
  60.             details.clear();
  61.             break;
  62.         case 6:
  63.             std::cout << std::endl;
  64.             details.seekg(std::ios::beg);
  65.             while (detail.cread(details))
  66.             {
  67.                 std::cout << detail;
  68.             }
  69.             details.clear();
  70.             std::cout << std::endl;
  71.             break;
  72.         case 7:
  73.             std::cout << std::endl;
  74.             details1.seekg(std::ios::beg);
  75.             while (detail.read(details1))
  76.             {
  77.                 std::cout << detail;
  78.             }
  79.             details1.clear();
  80.             std::cout << std::endl;
  81.             break;
  82.         case 8:
  83.             std::cout << std::endl;
  84.             reverse_output(details, 1);
  85.             std::cout << std::endl;
  86.             break;
  87.         case 9:
  88.             std::cout << std::endl;
  89.             reverse_output(details, 0);
  90.             std::cout << std::endl;
  91.             break;
  92.         case 10:
  93.             std::cout << std::endl;
  94.             std::cout << "Введите id для поииска:\n";
  95.             search(details, get_int(), 0);
  96.             std::cout << std::endl;
  97.             break;
  98.         case 11:
  99.             std::cout << std::endl;
  100.             std::cout << "Введите id для поииска:\n";
  101.             search(details, get_int(), 1);
  102.             std::cout << std::endl;
  103.             break;
  104.         case 12:
  105.             std::cout << std::endl;
  106.             std::cout << "Введите id для поииска:\n";
  107.             search(details1, get_int(), 2);
  108.             std::cout << std::endl;
  109.             break;
  110.         case 13:  
  111.             std::cout << std::endl;
  112.             std::cout << "Введите деталь для удаления:\n";
  113.             std::cin >> detail;
  114.             remove(detail, details, "details.txt", 1, std::ios::in | std::ios::out);
  115.             std::cout << std::endl;
  116.             break;
  117.         case 14:
  118.             std::cout << std::endl;
  119.             std::cout << "Введите деталь для удаления:\n";
  120.             std::cin >> detail;
  121.             remove(detail, details1, "details1.bin", 0, std::ios::in | std::ios::out | std::ios::binary);
  122.             std::cout << std::endl;
  123.             break;
  124.         case 15:
  125.             std::cout << std::endl;
  126.             system("CLS");
  127.         default:
  128.             break;
  129.         }
  130.  
  131.     } while (ch);
  132.    
  133.     details.close();
  134.     details1.close();
  135.  
  136.     system("pause");
  137.     return 0;
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement