0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 6
1

Заполнение и вывод на экран записей из типизированного файла

22.04.2010, 15:33. Показов 7381. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно заполнить типизированный файл данными: порядковый номер, название товара и стоимость. Потом вывести на экран записи файла в прямом и обратном порядке (от первой к последней, затем от последней к первой). Желательно это сделать в одной программе.
Помогите кто в силе составить код.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2010, 15:33
Ответы с готовыми решениями:

Сортировка записей типизированного файла
Cоставьте программу на Паскале для сортировки записей типизированного файла.

Обработка типизированного файла из записей
1. Составить процедуру для формирования типизированного файла, компонентами которого являются...

Чтение записей из типизированного файла
Здравствуйте. Пытаюсь реализовать чтение записей из типизированного файла. Использую массив, дабы...

Сортировка типизированного файла записей без массивов
Помогите сделать сортировку типизированного файла записей без массивов. Надо сортировать из...

7
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 6
26.04.2010, 20:00  [ТС] 2
Неужели ни кто не знает как это сделать.
0
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
4190 / 1291 / 237
Регистрация: 27.07.2009
Сообщений: 3,962
26.04.2010, 20:14 3
Цитата Сообщение от mileshin Посмотреть сообщение
Неужели ни кто не знает как это сделать.
что именно у тебя не получается?
0
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 6
26.04.2010, 23:39  [ТС] 4
После этого кода информация пишется в файл только один раз. После записи по первому товару программа закрывается, вместо того чтобы ещё записать.

И ещё такой вопросик: Можно ли в одной этой программе после записи всех данных потом вывести на экран содержимое записанного файла в прямом и обратном порядке? Если да, то как это сделать?

код:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
program zapisi;
USES crt;
type info =record
 Nomer:string;
 Tovar:string[50];
 Stoimost:string;
end;
 
var f:file of info;
    z:info;
    d:char;
begin
clrscr;
{$I-}
assign(f,'d:\kurspascal\xxx.dat');
rewrite(f);
 d:='y';
 while d='y' do begin {Цикл ввода информации в файл}
    with z do
   begin
    write('Введите номер товара: ');
    readln(z.Nomer);
    write('Введите название товара: ');
    readln(z.Tovar);
    write('Введите стоимость товара: ');
    readln(z.Stoimost);
 
   write('Сохранить запись в файл? Y/N (По умолчанию-Y): ');
    readln(d);
    if (d='y') or (d='Y') then
      write(f,z);
 
   d:='y';
   write('Продолжить ввод информации? Y/N (По умолчанию-Y): ');
    readln(d);
         if (d='n') or (d='N') then
      break;
  end;
  close(f);
    end;
end.
Добавлено через 2 часа 44 минуты
Откликнитись кто нибудь
0
156 / 158 / 93
Регистрация: 01.01.2010
Сообщений: 398
27.04.2010, 00:32 5
Не правильно сформирован вывод это во первых
0
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 6
27.04.2010, 00:41  [ТС] 6
А как будет правильно?
0
156 / 158 / 93
Регистрация: 01.01.2010
Сообщений: 398
27.04.2010, 01:03 7
mileshin, чтобы выполнение продолжалось сделайте к примеру так:
18 строка
Pascal
1
 while d='y' do begin
заменить на
Pascal
1
 while (d='y') or (d='Y') do begin
Второе, файл закрывайте ТОЛЬКО после ВСЕХ циклов. т.е. 39-40 строки
Pascal
1
2
close(f);
    end;
заменить на
Pascal
1
2
end;
close(f);
Вообще программу совершенствовать достаточно ещё, дабы к более менее прилежному виду привести.

Насчет вывода, тут указатели использовать надо.
https://www.cyberforum.ru/post454404.html вот что-то более менее похожее, поройтесь, может разберетесь сами, процедура есть для вывода, правда разбираться вам здесь более чем достаточно. Или подождите до завтра. Точнее уже до сегодня...
1
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 6
27.04.2010, 19:09  [ТС] 8
Хорошо! Подожду

Добавлено через 17 часов 54 минуты
Пытаюсь вывести на экран записи из типизированного файла

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
program zapisi1;
USES crt;
type
    MyRec = record
      Nomer : integer;
      Tovar  : string[50];
      Stoimost  : extended;
    end;
var f : file of MyRec;
     z  : MyRec;
     i, Cnt : integer;
begin
   Assign(f,'d:\kurspascal\xxx.dat');
   Reset(f);
   Cnt := FileSize(f);
   for i:=Cnt downto 1 do  begin
      seek(f,i);
      Read(f, z);
      WriteLn(z.Nomer, z.Tovar, z.Stoimost);
   end;
   Close(f);
end.
Подскажите где тут ошибка. Программа компилируется но ничего не выводит на экран.
0
27.04.2010, 19:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2010, 19:09
Помогаю со студенческими работами здесь

Можно ли в цикле сортировки списка для типизированного файла сделать исключение дублирования записей
Не получается доработать цикл в программе repeat write('фамилия'); readln(zb.name); ...

Считывание чисел из типизированного файла и вывод их на экран в виде матрицы (индекс вне границ массива)
const m=13; n=11; Type file_int = File Of Integer; var f:file_int; i,j:integer; a:array of...

Вывод из типизированного файла в listbox
Добрый вечер! И опять дизайнер форм. Вопрос таков: у меня есть типизированный файл Base1.dat. Как в...

Вывод на экран содержимого типизированного файла
Здравствуйте. Кто-нибудь может помочь вывести содержимое типизированного файла на экран? вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru