Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.
Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.
Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.
пишется в разделе переменных, а не до негоfl=file of city;
Вы пишете, что численность населения всегда целое число, а определяете переменную для нее вещественной, хотя на рассчеты это не повлияет, скорее уж на форму вывода числа.type city=record
name:string;
chis:real;
end;
Совершенно непонятно, чем вы руководствовались, определяя эти переменные для хранения считанных из файла данных, вы же уже определили свой тип, так создайте массив вашего типа и считывайте данные непосредственно в него.s:string;
n:real;
Исходя из вышесказанного, использование переменных s и n бессмысленно, тем более так, как вы прописали, то есть в данном цикле вы просто запрашиваете ввод с клавиатуры, так как в команде read(s,n) вы не ссылаетесь на файловую переменную как на источник, следовательно, программа будет считывать данные из стандартного потока ввода, то есть с клавиатуры. Правильнее будет так read(f,s,n), хотя лучше все же использовать массив типа city.reset(f);
while not eof(f) do
begin
read(s,n);
end;
Это явно нужно поместить в другое место, а то вы открываете результирующий файл по перезаписи и вносите в него последние значения переменных s и n, даже не увеличивая числовое значение.assign(f2,'d:\lab\4\file2.txt');
rewrite(f2);
write(f2,s,n);
поместить до цикла, аassign(f2,'d:\lab\4\file2.txt');
rewrite(f2);
в цикл, чтобы данные сразу после чтения передавались во второй файл. Естественно, опять повторюсь, что считывать данные из файла лучше в массив, причем наилучшим вариантом будет динамический массив, то есть с изменяемой размерностью.write(f2,s,n*1.05);
Оно и понятно. Ошибок - просто море.что то не получается
Const
Nt=3;
Var
f1,f2:Text;
S:String;
n:Real;
i:Integer;
Begin
Assign(f1,'D:\lab1.txt');
Rewrite(f1);
For i:=1 to Nt do
begin
Writeln('Name of the town:');
Readln(S);
Writeln(f1,S);
Write('Population: ');
Readln(n);
Writeln(f1,n:0:0);
end;
Close(f1);
Reset(f1);
Assign(f2,'D:\lab2.txt');
Rewrite(f2);
For i:=1 to Nt do
begin
Readln(f1,S);
Writeln(f2,S);
Readln(f1,n);
Writeln(f2,n*1.05:0:0);
end;
Close(f1);
Close(f2);
End.
Const
Nt=3;
Type
city=record
name:string;
chis:real;
end;
Var
f1,f2:file of city;
A:city;
i:Integer;
Begin
Assign(f1,'D:\lab1');
Rewrite(f1);
For i:=1 to Nt do
begin
Writeln('Name of the town:');
Readln(A.name);
Write('Population: ');
Readln(A.chis);
Write(f1,A);
end;
Close(f1);
Reset(f1);
Assign(f2,'D:\lab2');
Rewrite(f2);
For i:=1 to Nt do
begin
Read(f1,A);
A.chis:=A.chis*1.05;
Write(f2,A);
end;
Close(f1);
Close(f2);
Reset(f2);
For i:=1 to Nt do
begin
Read(f2,A);
Writeln(A.name);
Writeln(A.chis:0:0);
end;
Readln
End.