Advertisement
DesEX

Untitled

Oct 12th, 2021
760
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.55 KB | None | 0 0
  1. int individual() {
  2.     ifstream fin;
  3.     fin.open("dataBase.txt");
  4.     int pupil = 1;
  5.     int marks[3];
  6.     int counter = 0;
  7.     char str[100];
  8.     bool our_marks = false;
  9.     while (fin.get()) { //Пока файл не закончится...
  10.         fin.getline(str, 100); //Получаем строку
  11.         if (str[10] == '=') { //Проверка на номер ученика (первый второй ... n ученик)
  12.             pupil++;
  13.         }
  14.         for (int i = 0; i < 100; i++) //Проходимся по массиву символов, который содержит эту строку
  15.         {
  16.             if (str[i] == ':' || our_marks == true) { //Проверяем на "Отличительный знак" т.е. двоеточие
  17.                 our_marks = true;
  18.                 if (isdigit(str[i])) { //Проверяем число ли это
  19.                     if (str[i + 1] == ' ') {
  20.                         marks[counter] = static_cast<int>(str[i]) - 48; //Записываем число от 0-9
  21.                         counter++;
  22.                     }
  23.                     else if (isdigit(str[i + 1])) { //Если это 10, то записываем 10
  24.                         marks[counter] = 10;
  25.                         i++;
  26.                         counter++;
  27.                     }
  28.                 }
  29.             }
  30.         }
  31.         if (marks[0] >=0 || marks[0] <= 10) {//Проверяем, достали ли мы оценки
  32.             if ((marks[0] == 4 || marks[0] == 5) && marks[1] > 8 && marks[2] > 8) {
  33.                 get_second_name(pupil);
  34.             }
  35.             for (int i = 0; i < 3; i++) //Присваиваем каждому элементу 11, т.к isdigit проверяет на цифру
  36.             {
  37.                 marks[i] = 11;
  38.             }
  39.         }
  40.         our_marks = false;
  41.         counter = 0;
  42.     }
  43.  
  44.  
  45.  
  46.     return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement