Чтение списка из строки - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Нужно в переменные типа списка добавить данные из строки(string) помогите реализовать пожалуйста
Пример файла: fam nam 2014 36 4 5 3 fam2 nam2 2014 36 4 5 3 fam3 nam3 2014 36 4 5 3

Решение задачи: «Чтение списка из строки»

textual
Листинг программы
  reset(file1);//открываем файл для чтения
  i := 1;
  
  while not EOF(file1) do
  begin
    readln(file1, allfile); // читаем всю строку
    var arr := allfile.Split('  '.ToCharArray(), System.StringSplitOptions.RemoveEmptyEntries); // разбиваем ее по пробелам
    with student[i] do
    begin
      fam := arr[0]; // и заполняем структуру
      name := arr[1];
      year_end := StrToInt(arr[2]); 
      numb := StrToInt(arr[3]); 
      math := StrToInt(arr[4]); 
      fiz := StrToInt(arr[5]);
      rus := StrToInt(arr[6]);
    end;
    inc(i);
  end;

Объяснение кода листинга программы

  1. Открытие файла для чтения reset(file1);
  2. Инициализация счётчика i := 1;
  3. Чтение списка из файла до конца файла в цикле while while not EOF(file1) do
  4. Разбиваем каждую строку на массив строк arr := allfile.Split('  '.ToCharArray(), System.StringSplitOptions.RemoveEmptyEntries);
  5. Заполняем структуру student[i] значениями из массива arr
  6. Сохраняем фамилию в поле fam
  7. Сохраняем имя в поле name
  8. Сохраняем год окончания в поле year_end
  9. Сохраняем номер в поле numb
  10. Сохраняем оценку по математике в поле math
  11. Сохраняем оценку по физике в поле fiz
  12. Сохраняем оценку по русскому языку в поле rus
  13. Увеличиваем счётчик i inc(i);
  14. Повторяем шаги с 4 по 13 для каждой строки в файле
  15. Закрытие файла close(file1);

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы