Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Запись данных массивов структур в текстовый файл

Читайте также:
  1. Host BusПредназначена для скоростной передачи данных (64 разряда) и сигналов управления между процессором и остальными компонентами системы.
  2. II. Структурные элементы письменных работ и требования к их содержанию
  3. II. Требования к структуре образовательной программы дошкольного образования и ее объему
  4. III. Органы и структуры эмбриона
  5. III. Структура процесса мышления.
  6. III. Структура Студенческого совета
  7. III. Требования к структуре основной образовательной программы основного общего образования

Работа с большими объемами данных, содержащихся в массивах структур, значительно облегчается при использовании текстовых файлов для хранения и считывания информации. Запись информации из массива структур в текстовый файл требует применения форматного вывода функцией fprintf.

Список вывода fprintf состоит из полей, значения которых необходимо записать, в текстовый файл, а форматы соответствуют типам данных, хранящимся в полях.

Пример 3. Файл-функция writegroup, которая реализует построчный вывод значений всех полей структур массива с информацией об успеваемости группы студентов.

Имя текстового файла и массив структур являются входными аргументами writegroup. Содержимое файла должно иметь организацию, схожую с табл. 1 лаб. раб. №2.

Установите фиксированное число отводимых позиций под вывод строк и чисел и выравнивание в области вывода по левому краю при помощи флага. Для вывода значения поля структуры, содержащего строку, примените спецификатор формата s. Например, формат '%-10s' означает выравнивание строки по левому краю в поле вывода из 10 позиций.

 

function writegroup(filename, GROUP)

% Файл-функция для записи таблицы с успеваемостью группы

% студентов в текстовый файл.

% Использование writegroup(filename, GROUP)

% filename — имя файла

% group — массив структур с полями

% Family (строка), Name (строка), Year (число),

% Marks (вектор-строка с шестью отметками)

 

% Нахождение числа студентов в группе

N = length(GROUP);

% Открытие файла с именем filename для записи

F = fopen(filename, 'w');

% Запись шапки таблицы с выравниванием по левому краю каждой строки

fprintf(F, '%-14s %-10s %-4s %-6s\n',...

'Фамилия', 'Имя', 'Год', 'Оценки');

% Запись в файл содержимого полей каждой структуры в строку

for s = 1:N

fprintf(F, '%-14s %-10s %4.0f %2.0f %2.0f %2.0f %2.0f %2.0f %2.0f\n',...

GROUP(s).Family, GROUP(s).Name, GROUP(s).Year, GROUP(s).Marks);

end

% Закрытие файла

fclose(F);

 

Перед вызовом функции не забудьте заполнить массив структур GR201.

Вызов функции

 

writegroup('group.txt',GR201)

 

Задание 7. Заполните массив структур GR201. Вызовите функцию writegroup('group.txt',GR201). Покажите содержимое файла group.txt.

Добавьте в структуру GR201 новые поля: место рождения (строковая переменная) и средняя оценка (вещественная переменная). Заполните эти поля для каждого студента.

Исправьте функцию writegroup таким образом, чтобы в файл были также записаны место рождения и средняя оценка студента.

Вызовите исправленную функцию writegroup('newgroup.txt',GR201). Покажите содержимое файла newgroup.txt.

 

 


Дата добавления: 2015-07-15; просмотров: 130 | Нарушение авторских прав


Читайте в этой же книге: Структуры | Массив структур | Запись строк |
<== предыдущая страница | следующая страница ==>
Пример 2.| Считывание информации из текстового файла

mybiblioteka.su - 2015-2024 год. (0.006 сек.)