IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> База данных в типизированном файле
alexmilko
сообщение 7.06.2007 14:06
Сообщение #1


Гость






Ребята!!! Требуется помощь!!!! Программу я написал, но в ней есть ошибка(не могу сообразить, как ее исправить). Требуется создать типизированный файл записи, содержащий базу: название страны, ее площадь, число населения. Базу создал, записал в файл 'strani.dat'. Теперь требуется создать новый файл записи из исходного файла - только теперь добавляется новое поле - плотность население(то бишь число население, деленное на площадь страны). Надо скопировать поля в этот новый файл - вот тут и загвоздка - я уверен, что ошибка в тексте,выделенном курсивом. Поделитесь мыслями, нужно срочно доделать.













uses crt;
type
 strani=record
      naz:string[20];
      sq:integer;
      nas:integer;
      end;
 plotnost=record
      naz:string[20];
      sq:integer;
      nas:integer;
      pl:real;
      end;
    var
      i,j,k:integer;
      a:strani;
      b:plotnost;
      f:file of strani;
      f1:file of plotnost;
        begin
        clrscr;
         assign(f,'strani.dat');
         rewrite(f);
         writeln('Введите число записей');readln(k);
           for i:=1 to k do
            begin
             with a do
               begin
                 writeln('Название страны ');readln(naz);
                 writeln('Площадь ');readln(sq);
                 writeln('Число населения ');readln(nas);
                 write(f,a);
               end;
            end;
           close(f);
      assign(f1,'plotnost.dat');
      rewrite(f1);
      reset(f);
      
seek(f,0);
      while not eof(f) do begin
      read(f,a);
      for i:=1 to k-1 do begin
        b.naz:=a.naz;
        b.sq:=a.sq;
        b.nas:=a.nas;
        b.pl:=(a.nas)/(a.sq);
       write(f1,b);
       end;end;
       close(f1);
       close(f);
       reset(f1);
       writeln('Новый файл содержит:');
            seek(f1,0);
             writeln('СТРАНА','ПЛОЩАДЬ':16,'НАСЕЛЕНИЕ':8,'ПЛОТНОСТЬ':18);
              while not eof(f1) do
                begin
                  read(f1,b);
                  with b do
                    writeln(naz:4,sq:15,nas:10,pl:16:2);
                end;
               close(f1);
            readln;
            end.











































 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 31.07.2025 4:42
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"