![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 07.12.2009
Сообщений: 28
|
![]()
Помогите пожалуйста найти ошибку в программе!!Прога формирует файл содержащий список студентов в виде:№ имя фамилия отчество курс факультет условия приема экз.оценки.Ошибка именно в программе а не в юните..
Program Creat; Uses Open; Const Dim=30; Type TStud=Record Number:byte ; Name,SecondName,SurName,Usl:String[10]; Kurs:byte; Phac:String[4]; Ocenki:array[1..4] of byte End; Var F: Text; Comment:String; Stud:Array[1..Dim] of TStud; KolStud,I,j:byte; begin KolStud:=0; Comment:=(' для сохранения данных'); If OpenWrite(F,Comment) then begin Writeln('конец ввода по двум Enter'); Writeln('N Имя Фамилия Отчество Курс Факультет Условия приема 1 2 3 4'); While not eoln do begin inc(kolStud); with Stud[KolStud] do begin read(number,Name,Secondname,Surname ,Kurs,Phac,Usl); for i:=1 to 4 do read(F,Ocenki[i]); readln(f); end; end; For j:=1 to Kolstud do with Stud[j] do begin Write(F,number,Name,Secondname,SurN ame,' ',Kurs,Phac,' ',Usl); for i:=1 to 4 do write(F,Ocenki[i],' '); Writeln(F) end; Close(F) end else Writeln('Внешнее устройство для записи не определенно. Конец работы'); readln end. А вот юнит. Unit Open; Interface Function OpenWrite(VAR F:Text; Comment:String): boolean; Function OpenRead(VAR F:Text; Comment:String): boolean; Implementation Function OpenWrite(VAR F:Text; Comment:String): boolean; var url:string; n:char; flag,flagExit:boolean; begin repeat Writeln('Укажите устройство ', Comment); writeln('1. Файл на диске.'); writeln('2. Экран.'); writeln('3. Принтер.'); writeln('4. Не сохранять.'); writeln('5. Отменить.'); flag:=false; flagExit:=false; readln(N); case N of '1': begin writeln('Введите путь к файлу'); readln(url); end; '2': url:='con'; '3': url:='prn'; '4': url:='nul'; '5': flagExit:=true end; If not flagExit then begin assign(F,url); {$I-} reset(f); {$I+} if Ioresult=0 then begin rewrite(f); flag:=true; end else writeln('файл не доступен') end Until flagExit or flag; OpenWrite:=flag end; Function OpenRead(Var F:Text; Comment:String): boolean; var url:string; Fl:boolean; n:char; flag,flagExit:boolean; begin repeat Writeln('Укажите устройство ', Comment); writeln('1. Файл на диске'); writeln('2. Клавиатура'); writeln('3. Отменить'); readln(N); flag:=false; FlagExit:=false; case N of '1': begin writeln('Введите путь к файлу'); readln(url); assign(F,url); {$I-} reset(f); {$I+} flag:=Ioresult=0; flagExit:=url='3'; end; '2': begin assign(F,'con'); reset(f); flag:=true; end; '3': flagExit:=True end; Until flagExit or flag; Fl:=url='2'; OpenRead:=flag end; End. Последний раз редактировалось dante92; 03.06.2010 в 21:55. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 07.12.2009
Сообщений: 28
|
![]()
Во фрагменте Write(F,number,Name,Secondname,SurN ame,' ',Kurs,Phac,' ',Usl);
слово surname написано верно,просто почему то на форуме так отображается( |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Файлы паскаль | p4serhiy | Помощь студентам | 1 | 17.05.2010 20:10 |
Файлы. Паскаль. | hewlett | Помощь студентам | 1 | 12.05.2010 13:31 |
Паскаль.Файлы | olya3 | Помощь студентам | 4 | 19.12.2009 12:30 |
Файлы!Паскаль | ТРОЯН=) | Помощь студентам | 1 | 23.03.2009 10:08 |