DesEX

Untitled

Oct 14th, 2021
693
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<iostream>
  3. #include<string>
  4. #include<fstream>
  5. #include<ctype.h>
  6. using std::ofstream;
  7. using std::ifstream;
  8. using std::string;
  9. using std::cout;
  10. using std::cin;
  11. using std::endl;
  12.  
  13. /*Структура студента*/
  14. struct Student
  15. {
  16.     char second_name[24];
  17.     int group_num = 0;
  18.     int marks[3] = { 0,0,0 };
  19.     double average_mark = 0;
  20.  
  21.     /*Вывод данных, 2 опция*/
  22.     void show(ifstream& fin)
  23.     {
  24.         Student student;
  25.         if (fin.is_open()) { //Проверка на то, открыт ли файл
  26.             while (fin.read((char*)&student, sizeof(Student))){ //Вывод данных о студенте
  27.                 cout << "Second name: " << student.second_name;
  28.                 cout << "Group number: " << student.group_num;
  29.                 cout << "Marks (physics, math, informatics) ";
  30.                 for (int i = 0; i < 3; i++)
  31.                 {
  32.                     cout << student.marks[i] << ' ';
  33.                 }
  34.                 cout << endl;
  35.                 cout << "Average mark: " << student.average_mark;
  36.                 cout << "====================================================================" << endl;
  37.             }
  38.         }
  39.         else {
  40.             cout << "The file wasn't created or opened" << endl;
  41.         }
  42.     }
  43.  
  44.     /*Добавление данных, 3 опция*/
  45.     void add(ofstream& fout)
  46.     {
  47.         Student student;
  48.         if (fout.is_open()) { //Проверка на то, открыт ли файл
  49.  
  50.             /*Запись фамилии*/
  51.             cout << "Enter a second name" << endl;
  52.             cin >> student.second_name;
  53.  
  54.             /*Запись номера группы*/
  55.             cout << "Enter a group number" << endl;
  56.             cin >> student.group_num;
  57.  
  58.             /*Запись оценок*/
  59.             cout << "Enter a marks (physics, math, informatics)" << endl;
  60.             for (int i = 0; i < 3; i++)
  61.             {
  62.                 cin >> student.marks[i];
  63.             }
  64.  
  65.             /*Вычисление среднего балла*/
  66.             for (int i = 0; i < 3; i++)
  67.             {
  68.                 student.average_mark += marks[i];
  69.             }
  70.             average_mark = average_mark / 3;
  71.  
  72.             fout.write((char*)&student, sizeof(Student)); //Непосредственно запись
  73.         }
  74.         else {
  75.             cout << "The file wasn't created or opened" << endl;
  76.         }
  77.     }
  78.  
  79.     /*Решение инд. задания, 4 опция*/
  80.     void individual(ofstream& fout, ifstream& fin)
  81.     {
  82.         if (fout.is_open() && fin.is_open()) { //Проверка на то, открыт ли файл
  83.  
  84.         }
  85.         else {
  86.             cout << "The file wasn't created or opened" << endl;
  87.         }
  88.     }
  89.  
  90.     /*Редактирование данных, 5 опция*/
  91.     void edit(ofstream& fout, ifstream& fin)
  92.     {
  93.         if (fout.is_open() && fin.is_open()) { //Проверка на то, открыт ли файл
  94.  
  95.         }
  96.         else {
  97.             cout << "The file wasn't created or opened" << endl;
  98.         }
  99.     }
  100.  
  101.     /*Удаление данных, 6 опция*/
  102.     void delete_student(ofstream& fout, ifstream& fin)
  103.     {
  104.         if (fout.is_open() && fin.is_open()) { //Проверка на то, открыт ли файл
  105.  
  106.         }
  107.         else {
  108.             cout << "The file wasn't created or opened" << endl;
  109.         }
  110.     }
  111.  
  112.     /*Сортировка данных, 7 опция*/
  113.     void sort(ofstream& fout, ifstream& fin)
  114.     {
  115.         if (fout.is_open() && fin.is_open()) { //Проверка на то, открыт ли файл
  116.  
  117.         }
  118.         else {
  119.             cout << "The file wasn't created or opened" << endl;
  120.         }
  121.     }
  122. };
  123.  
  124. int main() {
  125.     ofstream fout;
  126.     ifstream fin;
  127.     Student student;
  128.     bool cont = true;
  129.     int answer;
  130.     while (cont) {
  131.         cout << "What you want to do?\n1.Create or open file\n2.Show all data\n3.Add a new student" << endl;
  132.         cout<<"4.Solve an individual problem\n5.Edit a data about on of students\n6.Delete one of students\7.Sort our students\nTip:If you don't choose any, the programm will stop" << endl;
  133.         cin >> answer;
  134.         cout << endl;
  135.         switch (answer) {
  136.         case 1:
  137.             fout.open("dataBase.txt");
  138.             fin.open("dataBase.txt");
  139.             break;
  140.         case 2:
  141.             student.show(fin);
  142.             break;
  143.         case 3:
  144.                 student.add(fout);
  145.             break;
  146.         case 4:
  147.                 student.individual(fout, fin);
  148.             break;
  149.         case 5:
  150.                 student.edit(fout, fin);
  151.             break;
  152.         case 6:
  153.                 student.delete_student(fout, fin);
  154.             break;
  155.         case 7:
  156.                 student.sort(fout, fin);
  157.             break;
  158.         default:
  159.             cont = false;
  160.             break;
  161.         }
  162.         fout.close();
  163.         fin.close();
  164.     }
  165. }
RAW Paste Data