use global

implicit none

open(20, file='isx_base.txt', access= 'direct', form='unformatted', recl= sizeof(z))

do i=1, n

print*,'bb name'

read*,z.name! формирование компонент структуры

print*,'bb kol'

read*,z.kol

print*,'bb zenu'

read*,z.cost

write (20, rec=i)z запись сформированной структуры в файл

enddo

close(20)

End subroutine create

! Процедура просмотра

Subroutine view()

use global

implicit none

open (20, file='isx_base.txt', access= 'direct', form='unformatted', recl= sizeof(z))

i=0! номер записи

print*,' name novara ',' kol. tow ',' cena tow'

do while (.not.eof(20))

i=i+1

read (20, rec=i) z! чтение из файла всей структуры

print*,z. name, z.kol, z.cost! вывод на экран компонент

Enddo

close(20)

End subroutine view

! Процедура справка

Subroutine inform()

use global

implicit none

character(20) newname

real value

integer k

open(20, file='isx_base.txt', access= 'direct', form='unformatted', recl=sizeof(z))

i=0

print*,'name new tovara'

read*, newname

k=0

value=0

do while (.not. eof(20))

i=i+1

read(20,rec=i)z

if ( z.name==newname)then

k=k+z. kol

value=value+k* z. cost!вычислениестоимости

endif

Enddo

print'(3 (2x, A),I3, 5x, A, F4.1)','tow', newname, 'kol=', k, 'value=', value

close(20)

End subroutine inform

Выбор метода доступа в файле и типа записи

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

При выборе типа записей файла следует учитывать следующее:

Передача данных в неформатных файлах выполняется быстрее, т.к. не требуется преобразование данных;

Программировать неформатный ввод/вывод проще, чем форматный;

Неформатные файлы имеют меньший размер, чем текстовые файлы;

В текстовых файлах из-за округления может возникнуть потери точности;

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: