Приветствую Вас Гость | RSS

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Вывести фамилии, начинающиеся с А и С
DariusДата: Воскресенье, 05.06.2011, 19:10 | Сообщение # 1
Рядовой
Группа: Администраторы
Сообщений: 11
Репутация: 0
Статус: Offline
Code
program work;
   
type
   data = record
     fam: string[30];
     name: string[30];
     otch: string[30];
     zp: integer;
   end;
   
var
   f: file of data;
   s: data;
   s1: char;
   global: string[4];
   
procedure input;
var
   i: integer;
   n: integer;
begin
   rewrite(f);
   write('Введите количество рабочих, которых вы хотите добавить: ');
   readln(n);
   writeln();
   for i := 1 to n do
   begin
     write('Фамилия: ');
     readln(s.fam);
     write('Имя: ');
     readln(s.name);
     write('Отчество: ');
     readln(s.otch);
     write('Зарплата: ');
     readln(s.zp);
     write(f, s);
     writeln('Внесено!');
   end;
   writeln();
   close(f);
end;
   
procedure output;
begin
   reset(f);
   writeln();
   while not EOF(f) do
   begin
     read(f, s);
     write(s.fam);
     write(' ');
     write(s.name);
     write(' ');
     write(s.otch);
     write(' ');
     write(s.zp);
     writeln();
   end;
   writeln();
   close(f);
end;
   
procedure search;
begin
   reset(f);
   writeln();
   while not EOF(f) do
   begin
     read(f, s);
     s1 := s.fam[1];
     if (s1 = 'а') or (s1 = 'А') or (s1 = 'с') or (s1 = 'С') then
     begin
       write(s.fam);
       write(' ');
       write(s.zp);
       writeln();
     end;
   end;
   writeln();
   close(f);
end;
   
procedure search2;
var
   ss: integer;
   name1: string[30];
   fam1: string[30];
begin
   reset(f);
   writeln();
   read(f, s);
   ss := s.zp;
   name1 := s.name;
   fam1 := s.fam;
   close(f);
   reset(f);
   while not EOF(f) do
   begin
     read(f, s);
     if s.zp < ss then
     begin
       ss := s.zp;
       name1 := s.name;
       fam1 := s.fam;
     end;
   end;
   write('Рабочий с самой маленькой зарплатой:', fam1, ' ', name1, ' ', ss);
   writeln();
   close(f);
end;
   
procedure help;
begin
   writeln('Список команд:');
   writeln('1    - Ввести базу данных заново');
   writeln('2    - Вывести всю базу данных');
   writeln('3    - Выполнить поиск сотрудника по первой букве "А" и "С"');
   writeln('4    - Вывесть сотрудника, у которой у которого самая маленькая зарплата');
   writeln('exit - Завершить работу с базой данных');
end;
   
begin
   assign(f, 'f:/file1.txt');
   help;
   while true do
   begin
     readln(global);
     if global = '1' then
     begin
       input;
       help;
     end;  
     if global = '2' then
     begin
       output;
       help;
     end;
     if global = '3' then
     begin
       search;
       help;
     end;
     if global = '4' then
     begin
       search2;
       help;
     end;
     if global = 'exit' then
     begin
       EXIT;
     end;
   end;
end.
 
  • Страница 1 из 1
  • 1
Поиск: