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

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

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

 
 Ответить  Открыть новую тему 
> Текстовые файлы, Проблема вывода инфы
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


Не могу заново открыть файл и вывести инфу на экран!! Как это сделать в этих 2х прогах??
Номер 1:

Program MORZE;
Type TElem = ^Elem;
Elem = Record
Next : TElem;
Bukva : String;
End;
Var Stack,E : TElem;
Bukva,Str : String;
I : Integer;

{ procedura vstavki bukvi v stek }
Procedure Add(Bukva : String);
Var E : TElem;
Begin
New(E);
E^.Next := Stack;
E^.Bukva := Bukva;
Stack := E;
End;

Begin
{ otkrivaem dannih }
Assign(Input,'morze.txt');
Reset(Input);
Assign(Output,'output.txt');
ReWrite(Output);
{ chtenie faila }
While Not Eof Do Begin
ReadLn(Str);
Repeat
I := Pos(' ',Str);
If I > 0 Then Begin
Bukva := Copy(Str,0,I-1);
Add(Bukva);
Str := Copy(Str,I+1,Length(Str)-I);
End
Until I = 0;
If Length(Str) > 0 Then Add(Str);
End;
{ pechat' steka v vihodnoi fail }
E := Stack;
While E <> nil Do Begin
WriteLn(E^.Bukva);
E := E^.Next;
End;

{ zakrivaem faili }
Close(Input);
Close(Output);
End.



Прога 2:

Program ATS_5_15;
Type TElem = ^Elem;
Elem = Record
Next : TElem;
FIO : String
End;
Var ATS : Array[0..99] Of TElem;
InFile,OutFile : String;
I,Code : Integer;
Str,FIO,Phone : String;
Abonent : TElem;
Begin
{ vvod imen failov }
Write('Enter input filename: '); ReadLn(InFile);
Write('Enter output filename: '); ReadLn(OutFile);
Assign(Input,InFile);
Assign(Output,OutFile);
Reset(Input);
ReWrite(Output);
{ obrabotka dannih }
For I := 0 To 99 Do ATS[I] := nil;
While Not Eof Do Begin
{ chtenie stroki }
ReadLn(Str);
I := Pos(',',Str);
{ izvlekaem fio i nomer telefona }
FIO := Copy(Str,0,I-1);
Phone := Copy(Str,I+1,Length(Str)-I);
If Length(Phone) > 2 Then Phone := Copy(Phone,0,2);
Val(Phone,I,Code);
{ uzanaem pervie dve cifri }
While I >= 100 Do I := I Div 10;
{ dobavlyaem abonenta v spisok }
New(Abonent);
Abonent^.FIO := FIO;
Abonent^.Next := ATS[I];
ATS[I] := Abonent;
End;
{ vivod spiska v vihodnoi fail }
For I := 0 To 99 Do
If ATS[I] <> nil Then Begin
Abonent := ATS[I];
Write(I,':');
While Abonent <> nil Do Begin
Write(Abonent^.FIO);
If Abonent^.Next <> nil Then Write(',');
Abonent := Abonent^.Next;
End;
WriteLn;
End;
{ zakrivaem faili }
Close(Input);
Close(Output);
End.



В обоих прогах пытаюсь открыть файл Аутпут(полсе 2ух close), но пишет что файл не открыт для вывода или чтото подобное. Как можна вывести то на экран содержимое файла Output? Не нужно предлагать выводить результат работы.

Помогите, плиз, срочна!

Добавлено через 9 мин.
Файлы для первой прогиЖ

Добавлено через 1 мин.
Цитата(not_programmer @ 28.12.2007 20:29) *

Не могу заново открыть файл и вывести инфу на экран!! Как это сделать в этих 2х прогах??
Номер 1:

Program MORZE;
Type TElem = ^Elem;
Elem = Record
Next : TElem;
Bukva : String;
End;
Var Stack,E : TElem;
Bukva,Str : String;
I : Integer;

{ procedura vstavki bukvi v stek }
Procedure Add(Bukva : String);
Var E : TElem;
Begin
New(E);
E^.Next := Stack;
E^.Bukva := Bukva;
Stack := E;
End;

Begin
{ otkrivaem dannih }
Assign(Input,'morze.txt');
Reset(Input);
Assign(Output,'output.txt');
ReWrite(Output);
{ chtenie faila }
While Not Eof Do Begin
ReadLn(Str);
Repeat
I := Pos(' ',Str);
If I > 0 Then Begin
Bukva := Copy(Str,0,I-1);
Add(Bukva);
Str := Copy(Str,I+1,Length(Str)-I);
End
Until I = 0;
If Length(Str) > 0 Then Add(Str);
End;
{ pechat' steka v vihodnoi fail }
E := Stack;
While E <> nil Do Begin
WriteLn(E^.Bukva);
E := E^.Next;
End;

{ zakrivaem faili }
Close(Input);
Close(Output);
End.



Прога 2:

Program ATS_5_15;
Type TElem = ^Elem;
Elem = Record
Next : TElem;
FIO : String
End;
Var ATS : Array[0..99] Of TElem;
InFile,OutFile : String;
I,Code : Integer;
Str,FIO,Phone : String;
Abonent : TElem;
Begin
{ vvod imen failov }
Write('Enter input filename: '); ReadLn(InFile);
Write('Enter output filename: '); ReadLn(OutFile);
Assign(Input,InFile);
Assign(Output,OutFile);
Reset(Input);
ReWrite(Output);
{ obrabotka dannih }
For I := 0 To 99 Do ATS[I] := nil;
While Not Eof Do Begin
{ chtenie stroki }
ReadLn(Str);
I := Pos(',',Str);
{ izvlekaem fio i nomer telefona }
FIO := Copy(Str,0,I-1);
Phone := Copy(Str,I+1,Length(Str)-I);
If Length(Phone) > 2 Then Phone := Copy(Phone,0,2);
Val(Phone,I,Code);
{ uzanaem pervie dve cifri }
While I >= 100 Do I := I Div 10;
{ dobavlyaem abonenta v spisok }
New(Abonent);
Abonent^.FIO := FIO;
Abonent^.Next := ATS[I];
ATS[I] := Abonent;
End;
{ vivod spiska v vihodnoi fail }
For I := 0 To 99 Do
If ATS[I] <> nil Then Begin
Abonent := ATS[I];
Write(I,':');
While Abonent <> nil Do Begin
Write(Abonent^.FIO);
If Abonent^.Next <> nil Then Write(',');
Abonent := Abonent^.Next;
End;
WriteLn;
End;
{ zakrivaem faili }
Close(Input);
Close(Output);
End.



В обоих прогах пытаюсь открыть файл Аутпут(полсе 2ух close), но пишет что файл не открыт для вывода или чтото подобное. Как можна вывести то на экран содержимое файла Output? Не нужно предлагать выводить результат работы.

Помогите, плиз, срочна!

Добавлено через 9 мин.
Файлы для первой прогиЖ



Прикрепленные файлы
Прикрепленный файл  MORZE.TXT ( 36 байт ) Кол-во скачиваний: 267
Прикрепленный файл  OUTPUT.TXT ( 44 байт ) Кол-во скачиваний: 264
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


input, output - зарезервированные имена для ввода с клавиатуры/вывода на терминал.
Какого рожна Вы их используете?
Примите что-нибудт попроще - f1,f2 и etc.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


Для второй проги:

Добавлено через 6 мин.
Спасибо большое ), чтото я про это и забыл )


Прикрепленные файлы
Прикрепленный файл  ATS.txt ( 116 байт ) Кол-во скачиваний: 242
Прикрепленный файл  rep.txt ( 69 байт ) Кол-во скачиваний: 231
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 28.03.2024 20:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name