IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> С текстового в типизированный
сообщение
Сообщение #1


Гость






Вот у меня есть задача сделанная через текстовый файл, но мне ёё надо сделать для работы с типизированным файлом, и переделать у меня не получается если не трудно накидайте хотябы сам код считывания с типизированного файла. Вот сама задача: Дан файл Assort, содержащий сведения об игрушках: указывается название игрушки, её стоимость в рублях и возрастные границы (например игрушка может предназначаться для детей от 2 до 5 лет)
а)Получить название игрушек, цена которых не превышает 140 руб и которые подходят детям 5 лет б)определить стоимость свмого дорогого конструктора в)напечатать название наиболее дорогих игрушек (цена которых отличается от цены самой дорогой игрушки не более чем на 50 рублей) г)получить названия игрушек, которые подходят детям как четырех так и десяти лет.

type
aaa = record
naz: string[30];
cena: real;
age_1,age_2: byte;
end;
var
maxp,max,max2:real;
v:byte;
i,n:byte;
mas: array[1 .. 255] of aaa;
s:string;
f:text;
z:integer;
begin
assign(f,'c:\data.txt');
reset(f);
maxp:=0; max:=0;
repeat
n:=n+1;
i:=i+1;
readln(f,mas[i].naz);
readln(f,s);
val(s,mas[i].cena,z);
if mas[i].cena>maxp then maxp:=mas[i].cena; //samaya dorogaya igrushka
readln(f,s);
val(s,mas[i].age_1,z);
readln(f,s);
val(s,mas[i].age_2,z);
until eof(f);
close(f);
writeln('-----------------------------------');
writeln('cena<140 i po vozrastu=5');
writeln('NaZvaNiE : ');
for i:=1 to n do begin
if (mas[i].cena<140)and(mas[i].age_1>5) then begin
writeln(mas[i].naz);
end;
end;
writeln('-----------------------------------');
for i:=1 to n do
begin
if (mas[i].naz='constructor') then
if mas[i].cena>max then max:=mas[i].cena;
end;

writeln('Samii dorogoy constructor: ',max:5:1);
writeln('-----------------------------------');
max2:=maxp-50;
writeln('Samie dorogie igrushki: ');
for i:=1 to n do
begin
if mas[i].cena>max2 then writeln(mas[i].naz);
end;
writeln('-----------------------------------');
writeln('Podhodyat detyam 4 i 10-ti let :');
for i:=1 to n do
begin
if (mas[i].age_1>=4)and(mas[i].age_2<=10) then writeln(mas[i].naz);
end;
writeln('-----------------------------------');
readln;
end.


Вид файла Assort:
constructor
91
4
10
parovoz
30
6
20
velosiped
110
10
99
constructor
95
9
20
kubik
10
1
10
myach
70
6
90
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Вот решение очень похожей на твою задачи с типизированным файлом:
Расчётная работа. Помогите
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Вадим

Репутация: -  0  +


нет, нет. Я под типизированным файлом подразумевал файлы оприделенного типа file of byte, file of char и т.д. Но моя программа сделанна через обычный текстовый файл f:text; соответсвенно эту программу надо переделать так чтобы в место типа text был тип file of (тип). Извиняюсь за тупость :)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






То есть, по ссылке, я так понимаю, ты не ходил... Ну, как знаешь... Надо тебе в первую очередь...

(ПЕРЕделывать на порядок сложнее, чем ДЕЛАТЬ...)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Вадим

Репутация: -  0  +


вот тот отрывок программы по ССЫЛКЕ

var
i,n:byte;
maxp:real;
info: array[1 .. 255] of item;
s:string;

f:text; // МНЕ НАДО чтобы место этой строчки была f:file; !!!!

er:integer;

моя программа и так сделана на подобие этой.

 ! 
Во первый пользуйся тегами, во вторых мы за тебя очень рады, но к чему это сообщение ? Флуд в этом разделе карается очень строго.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.10.2020 18:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name