07.02.2015, 22:10 | #1 (permalink) |
Новичок
Регистрация: 05.10.2014
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите, пожалуйста, найти ошибку
задание:1.Составить файл,где будет записана фамилия,имя,отчество,год рождения,пол,оценка по физике,математике,информатике,стипендия. (надеюсь нормально составила задание,хотя по программа наверно понятно, но эта программа у меня вроде правильная,со второй не выходит...) 2. Для студентов имеющих "5" по физике,вывести фамилию,имя,отчество,средний балл и стипендию. (из составленного нами файла) Первая: Код HTML:
Program project; Type Studdan=record FIO:string[50]; GR:integer; Pol:string[2]; MOF:integer; MOM:integer; MOI:integer; Step:real; end; Var fname:string[40]; anheta:studdan; fp:file of studdan; n:char; Begin Writeln('Введите имя обр файла'); Readln (fname); assign(fp,fname); rewrite(fp); n:= 'y'; while n='y' do begin write('ФИО:'); readln(anheta.FIO); write('год рождения:'); readln(anheta.GR); write('пол:'); readln(anheta.POL); write('оценка по физике:'); readln(anheta.MOF); write('ценка по математике:'); readln(anheta.MOM); write('оценка по информатике:'); readln(anheta.MOI); write('стипендия:'); readln(anheta.STEP); write(fp,anheta); write('Продолжать ввод?(y/n)'); readln(n); end; close(fp); end. Код HTML:
Program project; Type Studdan=record FIO:string[50]; GR:integer; Pol:string[2]; MOM:integer; MOI:integer; Step:real; SR:real; MOF:integer; end; Var t,fname:string[40]; anheta:studdan; fp:file of studdan; k:integer; Begin Writeln('Введите имя обр файла'); Readln (fname); assign(fp,fname); reset(fp); writeln('искомые студенты'); Readln (t); k:=0; while not eof(fp) do begin read(fp,anheta); if(anheta.MOF=5) then BEGIN anheta.SR:=((anheta.MOF+anheta.MOM+anheta.MOI)/3); K:=K+1; writeln(anheta.FIO,anheta.SR,anheta.STEP); end; end; if k=0 then writeln('искомых студентов нет'); close(fp); readln; end. |
07.02.2015, 22:10 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Перейдите по этим ссылкам, скорее всего там для вас много полезной информации Помогите найти ошибку Помогите найти ошибку Помогите найти ошибку, пожалуйста! Паскаль |
07.02.2015, 22:33 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну так всё ясно: у Вас в двух программах - разные записи, отличающиеся количеством и расположением полей! Абсолютно недопустимо. Запись во второй программе должна быть ПОЛНОСТЬЮ идентична записи в первой. Средний балл можно считать как простую переменную, нечего ему вообще в записи делать. Т.е. нашли студента, у которого 5 по физике, ну и сосчитайте да выведите среднюю оценку - в запись-то зачем ее пихать?
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
в паскале.. |
|
|