Advertisement
alexdmin

pashok

May 20th, 2021
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.20 KB | None | 0 0
  1. #include<iostream>
  2. #include<fstream>
  3. using namespace std;
  4. fstream infile("file.bin");
  5. class student {
  6. public:
  7.     class stud {
  8.     public:
  9.         string name;
  10.         string surname;
  11.         string lastname;
  12.         char sex;
  13.         int age;
  14.         int kurs;
  15.         int mark;
  16.     };
  17.     stud stu;
  18. public:
  19.     void vvod() {
  20.         cout << "Enter name" << endl;
  21.         cin >> stu.name;
  22.         cout << "Enter surname" << endl;
  23.         cin >> stu.surname;
  24.         cout << "Enter lastname" << endl;
  25.         cin >> stu.lastname;
  26.         cout << "Enter sex(m - male, f - female)" << endl;
  27.         cin >> stu.sex;
  28.         cout << "Enter age" << endl;
  29.         cin >> stu.age;
  30.         cout << "Enter kurs" << endl;
  31.         cin >> stu.kurs;
  32.         cout << "Enter mark" << endl;
  33.         cin >> stu.mark;
  34.         infile.open("file.bin", ios::out);
  35.         infile.write(stu.name.c_str(), stu.name.length() + 1);
  36.         infile.write(stu.surname.c_str(), stu.surname.length() + 1);
  37.         infile.write(stu.lastname.c_str(), stu.lastname.length() + 1);
  38.         infile.write(reinterpret_cast <char*> (&stu.sex), sizeof(char));
  39.         infile.write(reinterpret_cast <char*> (&stu.age), sizeof(int));
  40.         infile.write(reinterpret_cast <char*> (&stu.kurs), sizeof(int));
  41.         infile.write(reinterpret_cast <char*> (&stu.mark), sizeof(int));
  42.         infile.close();
  43.     }
  44.     void vyvod() {
  45.         infile.open("file.bin", ios::binary);
  46.         while (!infile.eof()) {
  47.             infile >> stu.name;
  48.             cout << "Name:" << stu.name << endl;
  49.             infile >> stu.surname;
  50.             cout << "Surname:" << stu.surname << endl;
  51.             infile >> stu.lastname;
  52.             cout << "Lastame:" << stu.lastname << endl;
  53.             infile >> stu.sex;
  54.             cout << "Sex:" << stu.sex << endl;
  55.             infile >> stu.age;
  56.             cout << "Age:" << stu.age << endl;
  57.             infile >> stu.kurs;
  58.             cout << "Kurs:" << stu.kurs << endl;
  59.             infile >> stu.mark;
  60.             cout << "Mark:" << stu.mark << endl;
  61.         }
  62.         infile.close();
  63.     }
  64.     void poisk() {
  65.         int num = 0;;
  66.         string n, s, l;
  67.         char m;
  68.         int a, k, ma;
  69.         cout << "Enter name" << endl;
  70.         cin >> n;
  71.         infile.open("file.bin");
  72.         cout << "students with name " << n << ":" << endl;;
  73.         while (!infile.eof()) {
  74.             infile >> stu.name;
  75.             infile >> stu.surname;
  76.             infile >> stu.lastname;
  77.             infile >> stu.sex;
  78.             infile >> stu.age;
  79.             infile >> stu.kurs;
  80.             infile >> stu.mark;
  81.             if (stu.name == n) {
  82.                 cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  83.                 num++;
  84.             }
  85.         }
  86.         infile.close();
  87.         if (num != 1) {
  88.             cout << "enter surname" << endl;
  89.             cin >> s;
  90.             infile.open("file.bin");
  91.             cout << "students with name and surname" << n << " " << s << ":" << endl;
  92.             num = 0;
  93.             while (!infile.eof()) {
  94.                 infile >> stu.name;
  95.                 infile >> stu.surname;
  96.                 infile >> stu.lastname;
  97.                 infile >> stu.sex;
  98.                 infile >> stu.age;
  99.                 infile >> stu.kurs;
  100.                 infile >> stu.mark;
  101.                 if (stu.surname == s && stu.name == n) {
  102.                     cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  103.                     num++;
  104.                 }
  105.             }
  106.             infile.close();
  107.             if (num != 1) {
  108.                 cout << "enter lastname";
  109.                 cin >> l;
  110.                 cout << "students with name and surname nad last name " << n << " " << s << " " << l << ":" << endl;
  111.                 num = 0;
  112.                 infile.open("file.bin");
  113.                 while (!infile.eof()) {
  114.                     infile >> stu.name;
  115.                     infile >> stu.surname;
  116.                     infile >> stu.lastname;
  117.                     infile >> stu.sex;
  118.                     infile >> stu.age;
  119.                     infile >> stu.kurs;
  120.                     infile >> stu.mark;
  121.                     if (stu.name == n && stu.surname == s && stu.lastname == l) {
  122.                         cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  123.                         num++;
  124.                     }
  125.                 }
  126.                 infile.close();
  127.                 if (num != 1) {
  128.                     cout << "enter sex";
  129.                     cin >> m;
  130.                     cout << "students with name and surname and lastname and sex " << n << " " << s << " " << l << " " << s << ":" << endl;
  131.                     num = 0;
  132.                     infile.open("file.bin");
  133.                     while (!infile.eof()) {
  134.                         infile >> stu.name;
  135.                         infile >> stu.surname;
  136.                         infile >> stu.lastname;
  137.                         infile >> stu.sex;
  138.                         infile >> stu.age;
  139.                         infile >> stu.kurs;
  140.                         infile >> stu.mark;
  141.                         if (n == stu.name && stu.surname == s && stu.lastname == l && stu.sex == m) {
  142.                             cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  143.                             num++;
  144.                         }
  145.                     }
  146.                     infile.close();
  147.                     if (num != 1) {
  148.                         cout << "enter age";
  149.                         cin >> a;
  150.                         cout << "students with name and surname and lastname and sex and age " << n << " " << s << " " << l << " " << s << " " << a << ":" << endl;
  151.                         num = 0;
  152.                         infile.open("file.bin");
  153.                         while (!infile.eof()) {
  154.                             infile >> stu.name;
  155.                             infile >> stu.surname;
  156.                             infile >> stu.lastname;
  157.                             infile >> stu.sex;
  158.                             infile >> stu.age;
  159.                             infile >> stu.kurs;
  160.                             infile >> stu.mark;
  161.                             if (n == stu.name && stu.surname == s && stu.lastname == l && stu.sex == m && stu.age == a) {
  162.                                 cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  163.                                 num++;
  164.                             }
  165.                         }
  166.                         infile.close();
  167.                         if (num != 1) {
  168.                             cout << "enter kurs";
  169.                             cin >> k;
  170.                             cout << "students with name and surname and lastname and sex and age and kurs " << n << " " << s << " " << l << " " << s << " " << a << " " << k << ":" << endl;
  171.                             num = 0;
  172.                             infile.open("file.bin");
  173.                             while (!infile.eof()) {
  174.                                 infile >> stu.name;
  175.                                 infile >> stu.surname;
  176.                                 infile >> stu.lastname;
  177.                                 infile >> stu.sex;
  178.                                 infile >> stu.age;
  179.                                 infile >> stu.kurs;
  180.                                 infile >> stu.mark;
  181.                                 if (n == stu.name && stu.surname == s && stu.lastname == l && stu.sex == m && stu.age == a && stu.kurs == k) {
  182.                                     cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  183.                                     num++;
  184.                                 }
  185.                             }
  186.                             infile.close();
  187.                             if (num != 1) {
  188.                                 cout << "enter mark";
  189.                                 cin >> ma;
  190.                                 cout << "students with name and surname and lastname and sex and age and kurs and mark " << n << " " << s << " " << l << " " << s << " " << a << " " << k << " " << ma << ":" << endl;
  191.                                 num = 0;
  192.                                 infile.open("file.bin");
  193.                                 while (!infile.eof()) {
  194.                                     infile >> stu.name;
  195.                                     infile >> stu.surname;
  196.                                     infile >> stu.lastname;
  197.                                     infile >> stu.sex;
  198.                                     infile >> stu.age;
  199.                                     infile >> stu.kurs;
  200.                                     infile >> stu.mark;
  201.                                     if (n == stu.name && stu.surname == s && stu.lastname == l && stu.sex == m && stu.age == a && stu.kurs == k && ma == stu.mark) {
  202.                                         cout << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  203.                                         num++;
  204.                                     }
  205.                                 }
  206.                                 infile.close();
  207.                             }
  208.                             else {
  209.                                 cout << "Your student:" << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  210.                             }
  211.                         }
  212.                         else {
  213.                             cout << "Your student:" << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  214.                         }
  215.                     }
  216.                     else {
  217.                         cout << "Your student:" << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  218.                     }
  219.                 }
  220.                 else {
  221.                     cout << "Your student:" << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  222.                 }
  223.             }
  224.             else {
  225.                 cout << "Your student:" << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  226.             }
  227.         }
  228.         else {
  229.             cout << "Your student:" << stu.name << " " << stu.surname << " " << stu.lastname << " " << stu.sex << " " << stu.age << " " << stu.kurs << " " << stu.mark << endl;
  230.         }
  231.     }
  232.     int mans(int i) {
  233.         int num = 0;
  234.         infile.open("file.bin", ios::beg);
  235.         if (!infile.is_open()) cout << "open)" << endl;
  236.         else {
  237.             cout << "not open(" << endl;
  238.         }
  239.         infile.seekg(0);
  240.         while (!infile.eof()) {
  241.             infile >> stu.name;
  242.             infile >> stu.surname;
  243.             infile >> stu.lastname;
  244.             infile >> stu.sex;
  245.             infile >> stu.age;
  246.             infile >> stu.kurs;
  247.             infile >> stu.mark;
  248.             if (stu.kurs == i && stu.sex == 'm') num++;
  249.         }
  250.         infile.close();
  251.         return num;
  252.     }
  253. };
  254. int main() {
  255.     int i, k, p = 0, l;
  256.     cout << "Enter 1 - add student in file" << endl << "2 - clear file and add students" << endl << "3-nothing" << endl;
  257.     cin >> k;
  258.     student b;
  259.     if (k == 1) {
  260.         cout << "enter kol-vo students:" << endl;
  261.         cin >> p;
  262.         for (i = 0; i < p; i++) {
  263.             b.vvod();
  264.         }
  265.     }
  266.     else {
  267.         if (k == 2) {
  268.             remove("file.bin");
  269.             infile.open("file.bin");
  270.             infile.close();
  271.             cout << "Enter kol-vo students" << endl;
  272.             cin >> p;
  273.             for (i = 0; i < p; i++) {
  274.                 b.vvod();
  275.             }
  276.         }
  277.     }
  278.     cout << "Enter kurs" << endl;
  279.     cin >> l;
  280.     p = b.mans(l);
  281.     cout << endl << p;
  282.     return 0;
  283. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement