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

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

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

> Файлы, Помогите решить пожалуйста.
asxc
сообщение 5.02.2009 17:52
Сообщение #1





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

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


понимаете осталась последняя задача и я её не как написать не могу в программу.
помогите кто может пожалуйста

Файл включает фамилию студента и их оценки по трём предметам в сессии. Распечатать по вводимой фамилии - оценки, а кроме того список студентов, получивших степендию ( не имеющих 2 и 3), получивших повышеную степендию(тока 5)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
amega
сообщение 5.02.2009 22:15
Сообщение #2


?
***

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

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


ну во первых обявляем тип
 
Type
Tname=string[20];
Trec=record
name1:Tname;
ball: array [1..3] of integer;
end;
TArrRec=array [1..50] of trec;
Tfile = file of Trec;



потом считываем из файла в масивж


procedure Addfromfile(var s:TarrRec; var count:integer; f:Tfile);
begin
assign(f,'file.rec');
reset(f);
count:=0;
while not eof(f) do begin
count:=count+1;
read(f,s[count]);
end;
close(f);
end;



далее пишем процедуру которая выдает по имени бал



procedure showball(a:TarrRec; count:integer; s:Tname);
var i,j:integer;
begin
for i:=1 to count do
begin
if a[i].name1=s then begin

for j:=1 to 3 do
writeln(a[i].name1,' ',a[i].ball[1],' ',a[i].ball[2]' ',a[i].ball[3]);


end;
end;





список студентов которые только 5

procedure showball2(a:TarrRec; count:integer);
var i:integer;
begin
for i:=1 to count do
if (a[i].ball[1]=5) and (a[i].ball[2]=5) and (a[i].ball[3]=5) then
writeln(a[i].name1,' ',a[i].ball[1],' ',a[i].ball[2]' ',a[i].ball[3]);
end;





также для 2 и 3

ну и теперь все процедури вызиваеш в програмке.

Сообщение отредактировано: amega - 5.02.2009 22:16
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



- Текстовая версия 28.07.2025 21:52
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"