Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2013, 19:17   #61
марфаз
Новичок
Джуниор
 
Регистрация: 27.11.2013
Сообщений: 94
По умолчанию

ZX Spectrum-128 окей , спасибо
марфаз вне форума Ответить с цитированием
Старый 26.12.2013, 19:18   #62
марфаз
Новичок
Джуниор
 
Регистрация: 27.11.2013
Сообщений: 94
По умолчанию

ZX Spectrum-128 надо чтобы вообще константы не было
марфаз вне форума Ответить с цитированием
Старый 26.12.2013, 20:41   #63
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Это первая программа, только создает файл и заносит в него одну запись. Запустить один раз!
Код:
uses
  crt;
type
  sluzh=record
    fam,im,ot:string[64];
    nazv_otd:string[128];
    gd:integer;
    stazh:integer;
    dolzh:string[128];
    pol:string[1];
  end;
var
  chel:sluzh;
  f:file of sluzh;
begin
  (* Ввод данных с клавиатуры и запись в файл *)
  assign(f,'spisok.dat');
  rewrite(f);
    begin
      clrscr;
      writeln('Введите данные по первому работнику.');
      write('Введите фамилию: '); readln(chel.fam);
      write('Введите имя: '); readln(chel.im);
      write('Введите отчество: '); readln(chel.ot);
      write('Введите название отдела: '); readln(chel.nazv_otd);
      write('Введите год рождения: '); readln(chel.gd);
      write('Введите стаж: '); readln(chel.stazh);
      write('Введите должность: '); readln(chel.dolzh);
      write('Введите пол (м - мужской, ж - женский): '); readln(chel.pol);
      write(f,chel); { записали данные в файл}
    end;
  close(f);
  readln;
end.
Это основная программа
Код:
uses
  crt;
type
  sluzh=record
    fam,im,ot:string[64];
    nazv_otd:string[128];
    gd:integer;
    stazh:integer;
    dolzh:string[128];
    pol:string[1];
  end;
var
  chel:sluzh;
  f:file of sluzh;
  n,i:integer;
  razn:integer;
  Year : word;
  ch : char;
begin
  assign(f,'spisok.dat');
  while true do
  begin
  clrscr;
  writeln('Укажите требуемые действия: ');
  writeln('1. Ввод данных');
  writeln('2. Вывод данных');
  writeln('3. Вывод данных по условию');
  writeln('4. Окончание работы');
  readln(ch);
  case ch of
  '1':
    begin
      (* Ввод данных с клавиатуры и запись в файл *)
      writeln('Введите количество записей:');
      readln(n);
      reset(f);
      seek(f,filesize(f));
      for i:=1 to n do
        begin
          clrscr;
          writeln('Введите данные по ',i,'-му работнику.');
          write('Введите фамилию: '); readln(chel.fam);
          write('Введите имя: '); readln(chel.im);
          write('Введите отчество: '); readln(chel.ot);
          write('Введите название отдела: '); readln(chel.nazv_otd);
          write('Введите год рождения: '); readln(chel.gd);
          write('Введите стаж: '); readln(chel.stazh);
          write('Введите должность: '); readln(chel.dolzh);
          write('Введите пол (м - мужской, ж - женский): '); readln(chel.pol);
          write(f,chel); { записали данные в файл}
        end;
      close(f);
    end;
  '2':
    begin
      reset(f);
      while not eof(f) do
        begin
          clrscr;
          read(f,chel);
          write('Фамилия: '); writeln(chel.fam);
          write('Имя: '); writeln(chel.im);
          write('Отчество: '); writeln(chel.ot);
          write('Название отдела: '); writeln(chel.nazv_otd);
          write('Год рождения: '); writeln(chel.gd);
          write('Стаж: '); writeln(chel.stazh);
          write('Должность: '); writeln(chel.dolzh);
          write('Пол (м - мужской, ж - женский): '); writeln(chel.pol);
          writeln('Нажмите клавишу enter для продолжения...');
          readln;
        end;
      close(f);
    end;
  '3':
    begin
      clrscr;
      year:=2013;
      (* Чтение из файла и вывод по условию *)
      reset(f);
      while not eof(f) do
        begin
          read(f,chel);
          razn:=year-chel.gd;
          if ((razn>55) and (chel.pol='ж')) or ((razn>60) and (chel.pol='м')) then
            writeln(chel.fam,' ',chel.im,' ',chel.ot,', стаж работы: ',chel.stazh);
        end;
       close(f);
       writeln('Нажмите клавишу enter для продолжения...');
       readln;
    end;
    '4': exit;
  end; {of case}
  end; {of while}
end.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 26.12.2013, 21:04   #64
марфаз
Новичок
Джуниор
 
Регистрация: 27.11.2013
Сообщений: 94
По умолчанию

а ничего что программа такая огромная
марфаз вне форума Ответить с цитированием
Старый 26.12.2013, 21:06   #65
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

А вы же сами просили:
1 ввод
2 вывод
3 вывод по условию
Просили?
Получите и распишитесь
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 26.12.2013, 21:07   #66
марфаз
Новичок
Джуниор
 
Регистрация: 27.11.2013
Сообщений: 94
По умолчанию

неа не работает
марфаз вне форума Ответить с цитированием
Старый 26.12.2013, 21:09   #67
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Не работает? Вот сейчас вы лжете.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 26.12.2013, 21:10   #68
марфаз
Новичок
Джуниор
 
Регистрация: 27.11.2013
Сообщений: 94
По умолчанию

первая программа работает правильно просто мне надо после rewrite(f); создать файл а const
n=2; и for i:=1 to n do совсем убрать
марфаз вне форума Ответить с цитированием
Старый 26.12.2013, 21:12   #69
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Мляяяя, где вы увидели у меня cOnst?
Неее, пусть с этим чудом кто-нибудь другой общается!
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 26.12.2013, 21:14   #70
марфаз
Новичок
Джуниор
 
Регистрация: 27.11.2013
Сообщений: 94
По умолчанию

не лгу вот что получается
Изображения
Тип файла: jpg Безымянный.jpg (15.9 Кб, 146 просмотров)
марфаз вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить программу создания и обработки списка объектов Анжела33 Паскаль, Turbo Pascal, PascalABC.NET 3 17.12.2013 19:22
Составить программу на языке Turbo Pascal 7.0 вычисления значения интеграла на интервале [a, b] для функции, заданной графически AZelensky Помощь студентам 28 29.11.2013 23:01
Составить программу на языке Pascal erm Помощь студентам 0 30.04.2013 11:05
Составить программу на языке Pascal erm Помощь студентам 4 27.04.2013 12:54
Составить программу на языке Turbo Pascal 7.0 вычисления значения интеграла на интервале [a, b] для функции, заданной графически. Маленыч Паскаль, Turbo Pascal, PascalABC.NET 2 15.05.2012 23:34