Чтение списка из строки - 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;
Объяснение кода листинга программы
- Открытие файла для чтения
reset(file1); - Инициализация счётчика
i := 1; - Чтение списка из файла до конца файла в цикле while
while not EOF(file1) do - Разбиваем каждую строку на массив строк
arr := allfile.Split(' '.ToCharArray(), System.StringSplitOptions.RemoveEmptyEntries); - Заполняем структуру
student[i]значениями из массиваarr - Сохраняем фамилию в поле
fam - Сохраняем имя в поле
name - Сохраняем год окончания в поле
year_end - Сохраняем номер в поле
numb - Сохраняем оценку по математике в поле
math - Сохраняем оценку по физике в поле
fiz - Сохраняем оценку по русскому языку в поле
rus - Увеличиваем счётчик
iinc(i); - Повторяем шаги с 4 по 13 для каждой строки в файле
- Закрытие файла
close(file1);