XyLigan Опубликовано 31 января, 2010 Share Опубликовано 31 января, 2010 Задание: Разработать структуру типа "запись" для представления информации о лекарствах,имеющихся в аптеке.Запись должна включать следующие поля:наименование,форма,цена,отпускается по рецепту или нет.Создать типизированный файл,содержащий данные для каждого иимеющегося в аптеке лекарств.Написать программу,которая читает данные из файла и отображает их на экране в виде таблицы. uses crt; type TCircle=record; money:integer; forma,name,recept:string[20]; end; var W:TCircle; f:file of TCircle; begin Assign(f,'1-9.dbf'); Reset(f); while not eof(f) do begin Read(f,W); end; close(f); end. а как вывести на экран,то что в файле? Ссылка на комментарий Поделиться на другие сайты More sharing options...
kos1nus Опубликовано 31 января, 2010 Share Опубликовано 31 января, 2010 (изменено) а если прочитать содержимое файла в "список переменных" а потом вывести на экран с помошью writeln? Read(f, список переменных); Процедура читает из файла f компоненты в указанные переменные. Тип файловых компонент и переменных должны совпадать. Если будет сделана попытка чтения несуществующих компонент, то произойдет ошибочное завершение программы. Необходимо либо точно рассчитывать количество компонент, либо перед каждым чтением данных делать проверку их существования (функция eof, см. выше) Изменено 31 января, 2010 пользователем kos1nus Ссылка на комментарий Поделиться на другие сайты More sharing options...
XyLigan Опубликовано 4 февраля, 2010 Автор Share Опубликовано 4 февраля, 2010 Помогите с задачкой: Создать динамический односвязный список из случайных целых чисел в диапазоне от -100 до 100(количество элементов списка вводится с клавиатуры).Написать процедуру вывода списка на экран. Вывести на экран исходный список.Заменить каждое число в списке на сумму этого числа и всех предыдущих элементов списка.Вывести на экран полученный список. uses crt; type PNode=^TNode; TNode=record info,summa:integer; next:PNode; end; Procedure PrintList(ptr:PNode); begin if ptr=nil then Writeln('Список пуст!') else while ptr<>nil do begin write(ptr^.info:5); ptr:=ptr^.next; end; writeln; end; var head,wsp,ptr,one,two,p1,p2:PNode; N,i,num:integer; S:integer; A:array[1..5] of integer; begin head:=nil; Write('Введите количество элементов списка:'); readln(N); S:=0; for i:=1 to N do begin num:=random(201)-100; New(ptr); ptr^.info:=num; A[i]:=num; if head=nil then begin head:=ptr; wsp:=ptr; end else begin wsp^.next:=ptr; wsp:=ptr end; end; wsp^.next:=nil; PrintList(head); ptr^.info:=A[i]; write(A[1]:5); for i:=2 to N do begin S:=S+A[i-1]; ptr^.summa:=S; write(ptr^.summa:5); end; end. я вывел,но правда через массив,а как сделать с помощью списка? Ссылка на комментарий Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти