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 байт ) Кол-во скачиваний: 270
Прикрепленный файл  OUTPUT.TXT ( 44 байт ) Кол-во скачиваний: 267
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





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