Автор: не ангел 6.04.2004 22:22
Привет! Не буду оригинальной, помогите, пожалуйста, с задачей!
Условие задачи:
Распечатать фамилии рабочих бригады, начинающихся с букв А и С, с указанием их месячной зарплаты.
Данные берутся из готового файла.
Основу я составила, но как произвести поиск и распечатку определенных фамилий с соответствующей зарплатой?
Заранее спасибо!
Автор: Altair 7.04.2004 10:55
А что тут трудного, читаем из файла запись (это у вас в основе есть?)
проверяем - подходит ли она под условие выведения на экран, если да, то выводим, если нет, то читаем следующюю запись, пока нет конца файла
Автор: не ангел 8.04.2004 0:47
Вот основа. Только нужно поиск осуществить. Я не знаю как условие составить.
Код
Program Zap;
uses crt;
type prog=record
F:string;
I:string;
O:string;
Z:word;
end;
var v:text;
work:prog;
begin
clrscr;
assign (v,'brigada.txt');
reset (v);
with work do begin
while not eof(v) do
begin
Readln (v,F);
Readln (v,I);
Readln (v,O);
Readln (v,Z);
writeln (F:10,I:10,O:12,Z:6);
end;
end;
close (v);
end.
Автор: Atos 8.04.2004 9:04
Может, просто добавить
Код
if ((F[1]='A') or (F[1]='C' )) then writeln (F:10,I:10,O:12,Z:6);
Автор: не ангел 10.04.2004 20:07
Нет, это не помогает. Выводится только начальный список и все.
Автор: Altair 11.04.2004 14:28
Вот программа. Все работает. Кодировка DOS (866). Присоединенный файл -
brigada.txt - на нем я тестировал этот код.
Код
{ BбҐ д ¬Ё«ЁЁ « вЁбЄЁ¬Ё ЎгЄў ¬Ё!}
{ …б«Ё ¤® ЄЁаЁ«Ёжг, § ¬ҐЁвҐ ўбҐ гб«®ўЁп ᮮ⢥вб⢥®}
Program Zap;
uses crt;
type prog=record
F:string;
I:string;
O:string;
Z:word;
end;
var
v:text;
work:prog;
OprFam:string; {®ЇаҐ¤Ґ«Ґ п д ¬Ё«Ёп}
OprZar:word; {®ЇаҐ¤Ґ«Ґ п § аЇ« в }
begin
crt.clrscr;
assign (v,'brigada.txt');
reset (v);
{б з « ўбҐе а бЇҐз в Ґ¬}
with work do
begin
while not eof(v) do
begin
Readln(v,F);
Readln(v,I);
Readln(v,O);
Readln(v,Z);
Writeln(F:10,I:10,O:10,Z:6);
end
end;
close(v);
reset(v);
writeln;
writeln('” ¬Ё«ЁЁ зЁ ой. б A Ё«Ё ‘');
{а бЇҐз вЄ д ¬Ё«Ё© зЁ ойЁебп б A Ё«Ё б C (« вЁбЄЁҐ ЎгЄўл) }
with work do
begin
while not eof(v) do
begin
Readln(v,F);
Readln(v,I);
Readln(v,O);
Readln(v,Z);
If (F[1]='A') or (F[1]='C') then writeln(F:10,Z:6);
end
end;
Close(v);
{ Ї®ЁбЄ д ¬Ё«Ё© б ®ЇаҐ¤Ґ«Ґ®© д ¬Ё«ЁҐ© Ё § аЇ« в®© }
Writeln;
Write('‚ўҐ¤ЁвҐ д ¬Ё«Ёо, Є®в®аго ¤® ©вЁ :'); Readln(OprFam);
Write('‚ўҐ¤ЁвҐ § аЇ« вг. (Ґб«Ё Ї®ЁбЄ в®«мЄ® Ї® д ¬Ё«ЁЁ, ўўҐ¤ЁвҐ 0):'); readln(OprZar);
{Ї®ЁбЄ Ё а бЇҐз вЄ ®Їа. д ¬Ё«Ё© б ®ЇаҐ¤. § аЇ« в®©}
Reset(v); {б®ў ®вЄалў Ґ¬ д ©«, зв® Ўл гЄ § вҐ«м Ўл« 1 н«-вҐ}
with work do
begin
while not eof(v) do
begin
Readln(v,F);
Readln(v,I);
Readln(v,O);
Readln(v,Z);
If OprZar=0 then
begin
{§ зЁв Ї®ЁбЄ в®«мЄ® Ї® д ¬Ё«ЁЁ}
If F=OprFam then writeln(F:10,Z:6) { ўлў®¤Ё¬ нвг д ¬Ё«Ёо Ё ҐЈ® § аЇ« вг}
end else
begin
{§ зЁв Ї®ЁбЄ Ї® д ¬Ё«ЁЁ Ё Ї® § аЇ« вҐ}
If (F=OprFam) And (Z=OprZar) then writeln(F:10,Z:6)
end
end
end;
close(v);
writeln('¤«п ўл室 Ё§ Їа®Ја ¬¬л ¦¬ЁвҐ «оЎго Є« ўЁиг');
readkey {¦¤Ґ¬ ¦ вЁп Є« ўЁиЁ}
end.
Будут какие вопросики ?
Прикрепленные файлы
brigada.txt ( 186 байт )
Кол-во скачиваний: 322
Автор: не ангел 11.04.2004 22:10
:D У матросов нет вопросов! Огромное спасибо за программу!
Автор: Altair 11.04.2004 23:08
:p1: Да, пожалуйста. :p4: