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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2010, 22:18   #1
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию найдите ошибку. файлы. Паскаль

program file12;
uses
SysUtils;

{$APPTYPE CONSOLE}

var f1:text; f2:text; f3:text;
str:string; n,i:byte;
procedure FillTextFile;
begin
Assign(f1,'f1Letter.txt');
Rewrite(f1);
Writeln('input string');
read(str);
writeln(f1,str); close(f1);
end;
begin
assign(f2,'f2letter.txt');
append(f2);
assign(f3,'f3letter.txt');
append(f3);
FillTextFile;
n:=length(str);

for i:=1 to n do
if (ord(str[i])>64) and (ord(str[i])<91) then
writeln(f2,str[i])
else
writeln(f3,str[i]);

close(f2);
close(f2);

{ TODO -oUser -cConsole Main : Insert code here }
end.
Антон Лысенко вне форума Ответить с цитированием
Старый 20.12.2010, 22:22   #2
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию

задание: написать подпрограмму которая создает файл с английскими и русскими буквами. Написать программу которая в файл ф2 заносит анг буквы а в ф3 русские.
Антон Лысенко вне форума Ответить с цитированием
Старый 20.12.2010, 22:39   #3
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию вот новый код. теперь запускается но файл ф2 пуст???

program Lab_13;
uses
SysUtils;

{$APPTYPE CONSOLE}

var f1:text; f2:text; f3:text;
str:string; n,i:byte;
procedure FillTextFile;
begin
Assign(f1,'f1Letter.txt');
Rewrite(f1);
Writeln('input string');
read(str);
writeln(f1,str); close(f1);
end;
begin
assign(f2,'f2letter.txt');
rewrite(f2);
assign(f3,'f3letter.txt');
rewrite(f3);
FillTextFile;
n:=length(str);

for i:=1 to n do
if (ord(str[i])>64) and (ord(str[i])<91) then
writeln(f2,str[i])
else
writeln(f3,str[i]);

close(f2);
close(f3);

{ TODO -oUser -cConsole Main : Insert code here }
end.
Антон Лысенко вне форума Ответить с цитированием
Старый 20.12.2010, 22:43   #4
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию

помогите! оно тупо переписывает а ф3. Почему?
Антон Лысенко вне форума Ответить с цитированием
Старый 20.12.2010, 22:48   #5
iBuTTHead
Пользователь
 
Регистрация: 05.11.2010
Сообщений: 35
По умолчанию

А в чем проблемма то?
iBuTTHead вне форума Ответить с цитированием
Старый 20.12.2010, 22:51   #6
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию я увидел свои ошибки. Просто не досмотрел. Вот правильный код(если кому то надо)

program Lab_13;
uses
SysUtils;

{$APPTYPE CONSOLE}

var f1:text; f2:text; f3:text;
str:string; n,i:byte;
procedure FillTextFile;
begin
Assign(f1,'f1Letter.txt');
Rewrite(f1);
Writeln('input string');
read(str);
writeln(f1,str); close(f1);
end;
begin
assign(f2,'f2letter.txt');
rewrite(f2);
assign(f3,'f3letter.txt');
rewrite(f3);
FillTextFile;
n:=length(str);

for i:=1 to n do
if (ord(str[i])>64) and (ord(str[i])<91) or
(ord(str[i])>96)and (ord(str[i])<123)then
write(f2,str[i])
else
begin
write(f3,str[i]);
end;
close(f2);
close(f3);

{ TODO -oUser -cConsole Main : Insert code here }
end.
Антон Лысенко вне форума Ответить с цитированием
Старый 20.12.2010, 22:54   #7
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию

а нет есть ещё проблема. файл ф1 остаётся не закрытым. Куда вставить close(f1)???
Антон Лысенко вне форума Ответить с цитированием
Старый 20.12.2010, 23:00   #8
iBuTTHead
Пользователь
 
Регистрация: 05.11.2010
Сообщений: 35
По умолчанию

Он у тебя закрывается в твоей процедуре.
Цитата:
procedure FillTextFile;
begin
Assign(f1,'f1Letter.txt');
Rewrite(f1);
Writeln('input string');
read(str);
writeln(f1,str); close(f1);
end;
iBuTTHead вне форума Ответить с цитированием
Старый 20.12.2010, 23:03   #9
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию

А не увидел. Просто, помню что у меня были сомнения на счет него. И думал что я его удалил.... Значит всё идеально Я собой горжусь)))
Антон Лысенко вне форума Ответить с цитированием
Старый 20.12.2010, 23:05   #10
iBuTTHead
Пользователь
 
Регистрация: 05.11.2010
Сообщений: 35
По умолчанию

Запутаться в 20 строках и гордится...
iBuTTHead вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найдите ошибку MaJlbBuHa Паскаль, Turbo Pascal, PascalABC.NET 2 20.10.2009 23:26
найдите ошибку Сова Паскаль, Turbo Pascal, PascalABC.NET 9 11.02.2009 18:46
Найдите ошибку! geniy JavaScript, Ajax 4 04.12.2007 16:22