Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2011, 00:56   #1
Pyxy
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 39
По умолчанию Типизированный файл с анкетами студентов (Паскаль)

Помогите с задачкой
вот условие
Студентам 5-го курса была предложена анкета о том, знания которых прочитанных курсов могут быть использованы в будущей профессиональной
деятельности. Результаты анкетирования были занесены в файл. Напишите программу создания типизированного файла анкетирования (перечень прочитанных курсов состоит из 5-7 предметов) и обработки этого файла следующим образом:
выбрать и напечатать названия предметов, получивших наибольшую оценку (если их несколько - перечислить все).
вот я делала но у меня не выводит всех с наибольшей оценкой
Код:
program Stydent;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type  Anketyvannya=record
        Nazva_predmety:string[10];
        Ozinka:integer;
 end;
 const n=6;
 var a:  Anketyvannya; i:integer;
       Anketa: file of Anketyvannya;
        max:integer;
        Predmet:string[10];
begin
writeln ('VVedit 6 predmetiv i vvedit ocinky z nogo:');
assign (Anketa,'Anket_stydenta');
rewrite (Anketa);
        for i:=1 to n do
        begin
        write ('Predmet:');
        readln(a.Nazva_predmety);
        write ('Ocinka:');
        readln (a.Ozinka);
        write(Anketa,a);
        end;
close (Anketa);
writeln ('*****************************************************************');
reset (Anketa);
max:=a.Ozinka;
while not eof (Anketa) do
with a do
        begin
        read (Anketa,a);
        if a.OZinka>max then
          begin
            max:=a.Ozinka;
            Predmet:=a.Nazva_predmety;
        end;
        end;
         writeln ('Nauvuza ozinka z predmety: ',Predmet,'  - ', max);
close (Anketa);
readln;
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 23.12.2011 в 10:02.
Pyxy вне форума Ответить с цитированием
Старый 23.12.2011, 09:11   #2
Gagarik
Пользователь
 
Регистрация: 14.11.2011
Сообщений: 13
По умолчанию

У тебя происходит поиск предмета с наибольшей оценкой. Но только одного! Типичный алгоритм поиска максимального значения. Тут все хорошо. Но если предметов несколько, то нужно сначала найти максимальную оценку, а в следующем цикле выводить на экран те предметы у которых стоит эта оценка. Что то типа:
Код:
while not eof (Anketa) do
with a do
 begin
   read (Anketa,a);
   if a.OZinka=max then
     writeln ('Nauvuza ozinka z predmety: ',Predmet,'  - ', max);
 end;
ЗЫ. и для красоты я бы сделал так: writeln ('VVedit ',n,' predmetiv i vvedit ocinky z nogo:');

Последний раз редактировалось Gagarik; 23.12.2011 в 09:15.
Gagarik вне форума Ответить с цитированием
Старый 23.12.2011, 10:08   #3
Pyxy
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 39
По умолчанию

Спасибо, работает)))))
Pyxy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типизированный файл. Паскаль Iskorka92 Паскаль, Turbo Pascal, PascalABC.NET 2 28.11.2011 09:41
Типизированный файл с натуральными числами. Числа, встречающиеся 1 раз переписать в другой файл [Паскаль] mifomen Помощь студентам 7 16.12.2010 22:00
Типизированный файл Лубышев Помощь студентам 2 11.10.2008 11:08