Файлы

Ответить
Чуччи
Сообщения: 5
Зарегистрирован: 05 мар 2011, 14:11

я почти все сделала....2 день мучаюсь...осталось одно то что не могу сделать: считывание из файла помогите как(
т.е, все данные я через эту программу должна вводить , они должны храниться в файле и считываться помогите как, мне сказали что несколько строчек добавить...но не понимаю
вот моя програмка почти готовая:

Код: Выделить всё

Program Nino;
 uses crt;
const nmax=8;
type anketa=record
     name:string[5];
     pol:char;
     rost:140..200;
end;
      mass=array[1..100] of anketa;
       var i,n,k,y:integer;
           a:mass;
           o:text;
           f:file of anketa;
           s,p:string;
                  procedure SredRost(a:mass;n:integer);
                       var sred:real;
                           i,j:integer;
                         begin
                         sred:=0;
                         j:=0;
                           for i:=1 to n do
                            if a[i].pol='w' then
                             begin
                              inc(j);
                              sred:=sred+a[i].rost;
                             end;
                                 if j=0 then writeln('Zenshin net!')
                                 else
                                     begin
                                      sred:=sred/j;
                                      writeln('Srednij rost zenshin=',sred:0:2);
                                     end;
                                     readln;
                          end;
                  
                               Procedure dob(a:mass;n:integer);
                               begin
                               writeln('skolko zapisey dobavit?');
                               readln(y);
                               for i:=n+1 to n+y do
                               with a[i] do
                               begin
                                write('Imia: ');
         readln(name);
         repeat
         write('Pol (m or w): ');
         readln(pol);
          until pol in ['m','w'];
           repeat
           write('rost: '); readln(rost);
           until rost in [140..200];
                    end;
                    n:=n+y;
                    assign(o,'Ank.txt');
                    rewrite(o);
                    for i:=1 to n do
                    begin
                    writeln(o,a[i].name);
                    writeln(o,a[i].pol);
                    writeln(o,a[i].rost);
                    end;
 
                    close(o);
                    end;
begin
clrscr;
 
 write('Vvedite kol-vo zapisey: ');
 readln(n);
   for i:= 1 to n do
     begin
       writeln('vvedite svedenia o cheloveke ',i);
        with a[i] do
            begin
         write('Imia: ');
         readln(name);
         repeat
         write('Pol (m or w): ');
         readln(pol);
          until pol in ['m','w'];
           repeat
           write('rost: '); readln(rost);
           until rost in [140..200];
             end;
      end;
                      begin
 
              repeat
              clrscr;
              Writeln ('Viberite deistvie:');
              writeln('1-srednii rost zhenshin');
              writeln('2-imia samogo visokogo muzhchini');
              writeln('3- est li 2 cheloveka odnogo rosta');
              writeln('4-dob');
              writeln('5-vyhod');
              writeln('Spisok:');
                 for i:=1 to n do
                   with a[i] do
                   writeln(name:7,pol:3,rost:5);
                   writeln;
                           repeat
                           Write('Vash vibor: ');
                           readln(k);
                              until k in [1..6];
                                     case k of
                                     1: SredRost(a,n);
                                     2: ImyaVys(a,n);
                                     3: OdnRost(a,n);
                                     4: dob(a,n);
                                     5: exit;
                      end;
                                     until k=6;
end; readln
end.
Чуччи
Сообщения: 5
Зарегистрирован: 05 мар 2011, 14:11

я удалила там 2 процедуры врожде имени и чегото там, а то много символов было, не суть важно
kirl0g
Сообщения: 4
Зарегистрирован: 11 мар 2011, 22:27

Вывод в файл
var
output:file of string(text,integer, в зависимости от типа данных);
begin
assign(output, output.txt(или другой файл куда будем записывать));
rewrite(output);
.......
Ваш код
.......
write(output, переменная);
end.
Ответить