Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задача на записи

Автор: не ангел 6.04.2004 22:22

blink.gif Привет! Не буду оригинальной, помогите, пожалуйста, с задачей!
Условие задачи:
Распечатать фамилии рабочих бригады, начинающихся с букв А и С, с указанием их месячной зарплаты.
Данные берутся из готового файла.
Основу я составила, но как произвести поиск и распечатку определенных фамилий с соответствующей зарплатой?
Заранее спасибо!

Автор: AlaRic 7.04.2004 0:29

Кидай основу ;)

Автор: 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:

Автор: is plaquenil an immunosuppressan 19.09.2021 2:20

Priligy Testimonios