Advertisement
edgarrii

lb8

Jan 12th, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.02 KB | None | 0 0
  1. #include <iostream>              //Фамилии на  V, G, D
  2. #include <string>
  3. #include <fstream>
  4.  
  5.  
  6. using namespace std;
  7.  
  8. struct Student {
  9.     string name;
  10.     string surname;
  11.     string patronymic;
  12.     int number_group;
  13.     int birthYear;
  14.     int physics;
  15.     int math;
  16.     int informatics;
  17.     int chemistry;
  18.     double gap = (physics + math + informatics + chemistry) / 4.;
  19. } spisok[5], student;
  20.  
  21. int n = 0;
  22.  
  23.  
  24. void menu();
  25.  
  26. void add() {
  27.     ofstream fout("Show.txt", ios::app);
  28.  
  29.     string temp;
  30.     int temp_int = 0;
  31.     int middle = 0;
  32.  
  33.     cout << "Enter name : ";
  34.     cin >> temp;
  35.     fout << temp << " ";
  36.     cout << "Enter surname : ";
  37.     cin >> temp;
  38.     fout << temp << " ";
  39.     cout << "Enter thirdname: ";
  40.     cin >> temp;
  41.     fout << temp << " ";
  42.     cout << "Enter number of group: ";
  43.     cin >> temp_int;
  44.     fout << temp_int << " ";
  45.     cout << "Enter year of birth: ";
  46.     cin >> temp_int;
  47.     fout << temp_int << " ";
  48.     cout << "Enter mark of physics: ";
  49.     cin >> temp_int;
  50.     middle += temp_int;
  51.     fout << temp_int << " ";
  52.     cout << "Enter mark of math: ";
  53.     cin >> temp_int;
  54.     middle += temp_int;
  55.     fout << temp_int << " ";
  56.     cout << "Enter mark of informatics: ";
  57.     cin >> temp_int;
  58.     middle += temp_int;
  59.     fout << temp_int << " ";
  60.     cout << "Enter mark of chemistry: ";
  61.     cin >> temp_int;
  62.     middle += temp_int;
  63.     fout << temp_int << " ";
  64.     fout << middle / 4.;
  65.     fout << endl;
  66. }
  67.  
  68. void show() {
  69.     ifstream fin("Show.txt", ios::in);
  70.  
  71.     string temp;
  72.     int t = 0;
  73.     double tt = 0;
  74.  
  75.     while (!fin.eof()) {
  76.         fin >> temp;
  77.         if (temp == "") break;
  78.         cout << "\n\nName: " << temp << endl;
  79.         fin >> temp;
  80.         cout << "Surname: " << temp << endl;
  81.         fin >> temp;
  82.         cout << "Thirdname: " << temp << endl;
  83.         fin >> t;
  84.         cout << "Group: " << t << endl;
  85.         fin >> t;
  86.         cout << "Date of birth: " << t << endl;
  87.         fin >> t;
  88.         cout << "Physics: " << t << endl;
  89.         fin >> t;
  90.         cout << "Mathematics: " << t << endl;
  91.         fin >> t;
  92.         cout << "Informatics: " << t << endl;
  93.         fin >> t;
  94.         cout << "Chemistry: " << t << endl;
  95.         fin >> tt;
  96.         cout << "Average mark: " << tt << endl;
  97.  
  98.         temp = "";
  99.         t = 0;
  100.         tt = 0;
  101.     }
  102. }
  103.  
  104. void individual() {
  105.  
  106.     system("cls");
  107.  
  108.     ifstream fin("FILE.txt", ios::in);
  109.     n = 0;
  110.  
  111.     while (!fin.eof()) {
  112.         fin >> spisok[n].name;
  113.         fin >> spisok[n].surname;
  114.         fin >> spisok[n].patronymic;
  115.         fin >> spisok[n].number_group;
  116.         fin >> spisok[n].birthYear;
  117.         fin >> spisok[n].physics;
  118.         fin >> spisok[n].math;
  119.         fin >> spisok[n].informatics;
  120.         fin >> spisok[n].chemistry;
  121.         fin >> spisok[n].gap;
  122.         n++;
  123.     }
  124.     int group = 0;
  125.  
  126.     cout << "Enter number of group,which students data you want to see : ";
  127.     cin >> group;
  128.  
  129.     ofstream fout("special.txt", ios::app);
  130.  
  131.     for (int i = 0; i < n; i++) {
  132.  
  133.         if ((spisok[i].surname[0] == 'G' || spisok[i].surname[0] == 'D' || spisok[i].surname[0] == 'V') && spisok[i].number_group == group) {
  134.             fout << endl;
  135.             fout << spisok[i].surname << " ";
  136.             cout << spisok[i].surname << endl;
  137.             fout << spisok[i].name << " ";
  138.             cout << spisok[i].name << endl;
  139.             fout << spisok[i].patronymic << " ";
  140.             cout << spisok[i].patronymic << endl;
  141.             fout << spisok[i].number_group << " ";
  142.             cout << spisok[i].number_group << endl;
  143.             fout << spisok[i].birthYear << " ";
  144.             cout << spisok[i].birthYear << endl;
  145.             fout << spisok[i].physics << " ";
  146.             cout << spisok[i].physics << endl;
  147.             fout << spisok[i].math << " ";
  148.             cout << spisok[i].math << endl;
  149.             fout << spisok[i].informatics << " ";
  150.             cout << spisok[i].informatics << endl;
  151.             fout << spisok[i].chemistry << " ";
  152.             cout << spisok[i].chemistry << endl;
  153.             fout << spisok[i].gap;
  154.             cout << spisok[i].gap << endl;
  155.         }
  156.     }
  157. }
  158.  
  159. void menu()
  160. {
  161.     cout << "\tChoose what you want:" << endl;
  162.     cout << "\n\t1. View all data. " << endl;
  163.     cout << "\t2. Change the information about the student. " << endl;
  164.     cout << "\t3. Add student. " << endl;
  165.     cout << "\t4. Individual task. " << endl;
  166.     cout << "\t0. Exit. " << endl;
  167. }
  168.  
  169.  
  170. void edit() {
  171.  
  172.     system("cls");
  173.     cout << "Enter the number of the student you want to change: ";
  174.     int num;
  175.  
  176.     cin >> num;
  177.     num = num - 1;
  178.  
  179.     ifstream fin("Show.txt", ios::in);
  180.     n = 0;
  181.     while (!fin.eof()) {
  182.         fin >> spisok[n].name;
  183.         if (spisok[n].name == "") break;
  184.         fin >> spisok[n].surname;
  185.         fin >> spisok[n].patronymic;
  186.         fin >> spisok[n].number_group;
  187.         fin >> spisok[n].birthYear;
  188.         fin >> spisok[n].physics;
  189.         fin >> spisok[n].math;
  190.         fin >> spisok[n].informatics;
  191.         fin >> spisok[n].chemistry;
  192.         fin >> spisok[n].gap;
  193.         n++;
  194.     }
  195.     cout << "Choose what you want to change: " << endl;
  196.  
  197.     cout << "1. Name." << endl;
  198.     cout << "2. Surname." << endl;
  199.     cout << "3. Thirdname." << endl;
  200.     cout << "4. Number of group." << endl;
  201.     cout << "5. Date of birth." << endl;
  202.     cout << "6. Physics." << endl;
  203.     cout << "7. Mathematics" << endl;
  204.     cout << "8. Informatics" << endl;
  205.     cout << "9. Chemistry" << endl;
  206.  
  207.  
  208.     int kl = 0;
  209.     cin >> kl;
  210.     system("cls");
  211.  
  212.     if (kl == 1) {
  213.         cout << "Enter new name: ";
  214.         string name;
  215.         cin >> name;
  216.         spisok[num].name = name;
  217.     }
  218.     else
  219.         if (kl == 2) {
  220.             cout << "Enter new surname: ";
  221.             string nam;
  222.             cin >> nam;
  223.             spisok[num].surname = nam;
  224.         }
  225.         else
  226.             if (kl == 3) {
  227.                 cout << "Enter new patronymic: ";
  228.                 string nam;
  229.                 cin >> nam;
  230.                 spisok[num].patronymic = nam;
  231.             }
  232.             else
  233.                 if (kl == 4) {
  234.                     cout << "Enter new number of group: ";
  235.                     int nam;
  236.                     cin >> nam;
  237.                     spisok[num].number_group = nam;
  238.                 }
  239.                 else
  240.                     if (kl == 5) {
  241.                         cout << "Enter new date of birth: ";
  242.                         int nam;
  243.                         cin >> nam;
  244.                         spisok[num].birthYear = nam;
  245.                     }
  246.                     else
  247.                         if (kl == 6) {
  248.                             cout << "Enter new a physics grade: ";
  249.                             int nam;
  250.                             cin >> nam;
  251.                             spisok[num].physics = nam;
  252.                         }
  253.                         else
  254.                             if (kl == 7) {
  255.                                 cout << "Enter new a math grade: ";
  256.                                 int nam;
  257.                                 cin >> nam;
  258.                                 spisok[num].math = nam;
  259.                             }
  260.                             else
  261.                                 if (kl == 8) {
  262.                                     cout << "Enter new an informatics grade: ";
  263.                                     int nam;
  264.                                     cin >> nam;
  265.                                     spisok[num].informatics = nam;
  266.                                 }
  267.                                 else
  268.                                     if (kl == 9) {
  269.                                         cout << "Enter new a chemistry grade: ";
  270.                                         int nam;
  271.                                         cin >> nam;
  272.                                         spisok[num].chemistry = nam;
  273.                                     }
  274.    
  275.     ofstream fout("Show.txt", ios::out);
  276.  
  277.     for (int i = 0; i < n; i++) {
  278.         fout << spisok[i].name << " ";
  279.         fout << spisok[i].surname << " ";
  280.         fout << spisok[i].patronymic << " ";
  281.         fout << spisok[i].number_group << " ";
  282.         fout << spisok[i].birthYear << " ";
  283.         fout << spisok[i].physics << " ";
  284.         fout << spisok[i].math << " ";
  285.         fout << spisok[i].informatics << " ";
  286.         fout << spisok[i].chemistry << " ";
  287.         fout << spisok[i].gap << endl;
  288.     }
  289.     system("cls");
  290.  
  291.     cout << "Changes have been made." << endl;
  292. }
  293.  
  294.  
  295. int main()
  296. {
  297.     while (true)
  298.     {
  299.         system("color 07");
  300.         system("cls");
  301.  
  302.         int choise = 0;
  303.         menu();
  304.  
  305.         cin >> choise;
  306.  
  307.         switch (choise)
  308.         {
  309.         case 1: show(); break;
  310.         case 2: edit(); break;
  311.         case 3: add(); break;
  312.         case 4: individual(); break;
  313.         case 0: return 0;
  314.  
  315.         default:"ERROR!";
  316.         }
  317.         system("pause");
  318.     }
  319. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement