Помогите плз. решить задачку (pascal)
Дан файл f, содержащий сведения об игрушках: указывается название игрушки(например, кукла, кубики,мяч,конструктор и т.д.), её стоимость в копейках и возрастные границы детей, для которых игрушка предназначена (например, для детей от двухз до пяти лет). Получить следующие сведения:
а) названия игрушек, цена которых не превышает 4 руб. и которые подходят детям 5 лет;
б) цену самого дорогого конструктора, оформленную по образцу ... руб. ... коп. ;
Помогите плз. решить задачку (pascal)
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Сколько игрушек должно быть?
Вот пример программы, где игрушка одна. (естественно второе условие здесь отбрасывается);
Тут входной файл должен содержать:
1. Цена
2. Имя
3. Начало возр. границы
4. Её конец
Например
Вот пример программы, где игрушка одна. (естественно второе условие здесь отбрасывается);
Код: Выделить всё
uses crt;
var f: text;
info: record
cost: integer;
name: string;
Bgra: integer;
Egra: integer;
end;
begin
assign(f,'a.txt'); {например}
reset(f);
readln(f,info.cost);
readln(f,info.name);
readln(f,info.Bgra);
readln(f,info.Egra);
clrscr;
if (info.cost<=4) then begin
if (info.Bgra>=1) and (info.Egra<=5) then begin
writeln('Имя игрушки, удовлетворяющей 1-му условию - "',info.name,'"');
writeln('Цена - ',info.cost,' коп.');
writeln('Возрастная категория от ',info.Bgra,' до ',info.Egra);
readkey;
exit;
end; end;
writeln('Нет игрушки, удовлетворяющей условию....');
readkey;
end.
1. Цена
2. Имя
3. Начало возр. границы
4. Её конец
Например
Код: Выделить всё
15
Конструктор
3
7
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Допустим, Сost - цена в копейках и имеется не одна запись.
Код: Выделить всё
uses crt;
Type TInfo = record
cost: integer;
name: string;
Bgra: integer;
Egra: integer;
end;
var f: text;
info: TInfo;
MaxCostToy: TInfo;
function ReadRecord: TInfo;
begin
Readln(F, ReadRecord.Cost)
Readln(F, ReadRecord.Name)
Readln(F, ReadRecord.Bgra)
Readln(F, ReadRecord.Egra)
end;
begin
assign(f,'a.txt'); {например}
reset(f);
clrscr;
MaxCostToy.Cost := -1;
While not eof(F) do begin
Info := ReadRecord;
if (info.cost<=4) and ((info.Bgra>=1) and (info.Egra<=5)) then
begin
writeln('Имя игрушки, удовлетворяющей 1-му условию - "',info.name,'"');
writeln('Цена - ',info.cost,' коп.');
writeln('Возрастная категория от ',info.Bgra,' до ',info.Egra);
end;
If (Info.Name = 'Конструктор') and (Info.Cost > MaxCostToy.Cost) then MaxCostToy := Info;
end;
Writeln('Most priced constructor toy: ', (MaxCostToy.Cost div 100), ' r. ', (MaxCostToy.Cost mod 100), ' k.');
Readkey;
end.
It's a long way to the top if you wanna rock'n'roll