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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2011, 19:58   #1
Silverstone
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 75
По умолчанию Исправить программы

Цитата:
Текстовая информация вводится с клавиатуры и заносится в текстовый файл. Признаком окончания ввода служит ввод пустой строки. Файл закрыть, затем открыть его для чтения и отредакти-ровать: в каждой строке текста проверить правильность расстанов-ки запятых. Правила следующие – в начале строки не должно быть запятой, не может идти подряд две и более запятых, перед запятой не может быть пробела, после запятой должен быть хотя бы один пробел. Отредактированный текст записать в промежуточный файл. Затем старый файл удалить, а новый переименовать – дать ему старое имя. Содержимое отредактированного файла выдать на экран.


Код:
Program ex9;
 uses crt;

var
f,d:text; x:string;

procedure str(var x:string);

       var i:integer;

       begin

        while x[1]=',' do delete(x,1,1);

        while pos(',,',x)<>0 do delete(x,pos(',,',x),1);

        while i<=length(x) do
         begin
           if (x[i]=',') and (x[i+1]<>' ') then begin insert(' ',x,i+1)
        { else inc(i)};
       end;
      end;
     end;

begin

 clrscr;
  assign(f,'D:\text.txt'); rewrite(f);
   repeat
     writeln('ўўҐ¤ЁвҐ ⥪бв');
       readln(x);
     writeln(f,x);
   until x=' ';
  close(f);

  reset(f);

  assign(d,'D:\text1.txt'); rewrite(d);
   while not eof(f) do begin
    readln(f,x);

    if pos(',',x)<>0 then
     begin
      str(x);
     end;

  writeln(d,x);
  end;
  close(d);

  close(f);
   erase(f);
   rename(d,'D:\text.txt');
end.
Программа корректирует запятые, но не вставляет пробелы. Ибо программы не доходит до этого момента...

Цитата:
Программу из лабораторной работы № 6 переделать – ин-формацию о работнике фирмы хранить не в массиве, а в типизиро-ванном файле. Функциональность программы не изменилась. Для реализации запросов к информации файла использовать процедуры и функции. При написании процедур и функций продемонстриро-вать все способы передачи параметров – параметры переменные, параметры значения и параметры константы.
Вот изначальная прога:
Код:
Program ex6;
 uses crt;
  const n=2;
 type form=record
  nomer:string[15];
  post:string[50];
  oklad:integer;
  fio:string[40];
  pol:string[10];
 end;

 var a:array[1..n] of form;
 c:char;
 i,m,zh:byte;
 fond,fondm,fondw:integer;

 begin
 clrscr;
 for i:=1 to n do
  begin
   writeln('vvedite familiy');
    readln(a[i].fio);
   writeln('vvedite tabelniy nomer');
    readln(a[i].nomer);
   repeat
   writeln('pol M/F');
    readln(c);
    c:=upcase(c);
     case c of
      'M': a[i].pol:='male';
      'F': a[i].pol:='female'
     else writeln('error, you debil, repeat pls');
    end; until ((c='M')or(c='F'));
   writeln('vasha dolsgnost');
    readln(a[i].post);
   writeln('vash oklad');
    readln(a[i].oklad);
  end;
  fond:=0; fondm:=0; fondw:=0; m:=0; zh:=0;
  for i:=1 to n do begin
   fond:=fond+a[i].oklad;
   if a[i].pol='male' then begin m:=m+1; fondm:=fondm+a[i].oklad end else
   if a[i].pol='female' then begin zh:=zh+1; fondw:=fondw+a[i].oklad;
    end; end;
  writeln('fond firmy=', fond);
  writeln('fond oklada muzchin=', fondm, 'fond oklada zhenshin=', fondw);
  writeln('vsego muzchin=',m,'vsego zhenchin=',zh);

 if fondm=1000 then writeln('y vas est kosar, you pocik ^^');

 readln;
 end.
Вот что у меня вышло: http://narod.ru/disk/34873503001/123.PAS.html
В ходе выполнения вылетает со словами:"ошибка записи на диск".

Также, прошу помочь с параметрами переменными и параметрами константами. Как и где их реализовать?
Silverstone вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправить программы Silverstone Помощь студентам 0 19.12.2011 19:57
Исправить цикл программы. Язык С (Си) Volinad Помощь студентам 1 27.06.2011 20:25
Разработка программы сложной структуры(исправить) Stellar_light Помощь студентам 0 20.05.2011 18:01
Исправить ошибки программы на Паскале Маша2775 Помощь студентам 1 18.01.2009 01:28