Помощь - Поиск - Пользователи - Календарь
Полная версия: Файл записи, с перечисляемым типом
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
pel1kan
Суть задачи ввести сначала в текстовый файл записи, одна из которых является перечисляемым типом( потом так case of). После того как записали в текстовый вся информация должна в типизированный перегоняться. Неполучается ни то не другое.Вот код
Код

Program good_morning;
const
dir1='c:\';
type
  TFam = string[10];  Tnomer = 1..10;  Tkom = 1..5;
  Tden = 1..31;  TMes = 1..12;  TGod = 2000..2100;
  Ttip = (ps,xt,at,pc);{Ttip1=(ps,xt,at,pc){string[2];}
  zapis = record
    tip:Ttip;
    Nomer:Tnomer;
    kom:Tkom;
    data: record
            den: Tden;
            mes: tMes;
            god: Tgod;
          end;
  end;
    q=integer;
  gu=file of zapis;
    an=array[1..10]of zapis;
    masi=array[1..20]of integer;
  st=string[8];

var
f,f1,f2,f3:text;
fl,fl1,fl2,fl3:gu;
s,s1,s2,s3:st;
z1:zapis;
  p:an;
  p1:an;
  p2:an;
  ch: char;
  vybor: integer;
  n:Tnomer;
  num1:integer;
procedure input1(s:st;var f:text);
var i,j,ko:integer;
num,m:integer;
Begin
  assign(f,dir1+s+'.txt');
   rewrite(f);
  writeln('Vvedite dannye:');
  repeat
   writeln('Tipi kompov');
   writeln('1-ps');
   writeln('2-xt');
   writeln('3-at');
   writeln('4-pc');
   writeln('viberete tip kompa?');
   readln(m);
   with z1 do
   case m of
   1: begin
   tip:=ps;
   readln(f,tip);
   write('Number at siries 1..10 =');readln(f,nomer);
    write('Number of The ROOM 1..5 =');readln(f,z1.kom);
    writeln('Data:');
    write('  Den (1..31) ='); readln(f,z1.data.den);
    write('  Mesats (1..12) ='); readln(f,z1.data.mes);
    write('  God (2000..2100) ='); readln(f,z1.data.god);
    writeln;
    write(f);
      end; {eto 4ast pervoi proceduri,tut vvoditsa v text fail}
procedure input2(s:st;var f:text);
var i,j,ko:integer;
num:integer;
tip1:ttip;
begin
assign(f,dir1+s+'.txt');
{$i-}rewrite(fl);{$i+}
reset(f);
  num:=0;
  writeln('Dannie s4itivaytsa---->');
  while not eof(f) do
   begin
   writeln('')
    readln(f,z.nomer,z.kom,z.data.den,z.data.mes,z.data.god);
    write(fl,z);
       end;
                 end;
   end;{a tut doljno v tipizirovannii s4itivatsa}


Помогите разобраться, что да как!
klem4
Сразу в глаза бросается : у тебя два файла с одинаковым именем, но один из них текстовый, а второй
: gu (файл f1)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.