![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 24.06.2008
Сообщений: 2
|
![]()
Само условие выглядит так: Сформировать файл, содержащий сведения о сдаче студентами сессии: группа, фамилия студента, оценки по трём дисциплинам. Вывести на экран фамилии неуспевающих и количество задолженностей.
это задача на тему - файлы и работа с файлами в паскаль. начало я сделал - Program EM1p4copy; uses CRT; Var n,i: integer; F:text; fam,gr,p,m,is:string; Begin CLRSCR; Write('vvedite kolichestvo studentov'); readln(n); assign(F,'C:\sessiya.dat'); rewrite(F); CLRSCR; For i:=1 to n do Begin Writeln('vvedite familiy studenta'); readln(fam); writeln; Write('vvedite gruppu, gde obuchaetsya student ',fam,' '); readln(gr); CLRSCR; Write('vvedite ocenki studenta ',fam,' po matematike-'); readln(m); Writeln; Write('po programmirovaniu-'); readln(p); Writeln; Write('po istorii-'); readln(is); writeln; Write(F,fam,' '); write(F,gr,' '); write(F,'po matematike-',m,' '); write(F,'po programmirovaniu-',p,' '); write(F,'po istorii-',is,' '); Writeln(F); CLRSCR; end; close(F); Write(' Spisok neuspevaushih: '); writeln; assign(F,'C:\sessiya.dat'); reset(F); в этой части программы создается и открывается текстовый файл затем пользователь вводит имя группу и оценки по предметам, это все записывается в файл.С этим всё нормально, а вот дальше надо вывести неуспевающих, т.е. двоечников и предметы по которым у них двойки. Я пытался ставить условия и проверку файла но что-то не выходит. У меня проверяется только последний студент и выводятся его оценки. Вот моё условие: For i:= 1 to n do begin readln(F,m); readln(F,p); readln(F,is); For j:=1 to length(m) do if (copy(m,j,1)='2') or (copy(m,j,1)='1') then begin Write(fam,' ',gr,' po matematike-',m); WRITELN; end; For j:=1 to length(p) do if (copy(p,j,1)='2') or (copy(p,j,1)='1') then begin Write(fam,' ',gr,' po programmirovaniu- ',p); WRITELN; end; For j:=1 to length(is) do if (copy(is,j,1)='2') or (copy(is,j,1)='1') then begin Write(fam,' ',gr,' po istorii- ',is); WRITELN; end; end; readln; close(F); end. Пожалуйста помогите с решением. ![]() |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 23.11.2006
Сообщений: 42
|
![]() Код:
![]() |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 24.06.2008
Сообщений: 2
|
![]()
[QUOTE=OLEG'arh;117239]
Код:
![]() Огромное спасибо, очень вам признателен! ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите доделать задачу | motaro | Фриланс | 3 | 09.06.2008 19:59 |
Помогите доделать задачу!!!! | Vincenzo | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 11.05.2008 09:35 |
помогите доделать задачу по массиву | braza | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 06.05.2008 09:37 |
помогите доделать(исправить) задачу по массиву | braza | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 29.04.2008 19:54 |
Помогите доделать задачу на класс | molodzo | Общие вопросы C/C++ | 2 | 20.11.2007 09:31 |