|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.05.2009, 21:01 | #1 |
Пользователь
Регистрация: 31.03.2009
Сообщений: 11
|
Помогите((( Завтра сдавать!!!((
Вот программа:
Создать фаил, содержащий сведения о том, какие из пяти предпологаемых дисциплин по выбору желает слушать судент.Структура записи: фамилия студента, индекс группы, 5 дисциплин, средний бал успеваемости .Количество записей - 25 Нужно чтобы программа еще печатала список студентов желающих прослушать дисциплину "X". если число желающих превышает 8 человек, то отобрать студентов, имеющих более высокий средний бал успеваемости. Я нашел прогу на нее в Нэте, но проблема в том что мой паскаль не хочет включать дерективу {$APPTYPE CONSOLE} и не может работать с SetLength. Подскажите чем ее заменить хотябы???там вроде немного работы должно быть только процедуру ShareList исправить и все...а если завтра не сдам будет плохо((( program Project1; {$APPTYPE CONSOLE} uses SysUtils; type stud=record fio:string[100]; ind:string[10]; discipline:array[1..5] of char; mark:real; end; var a,i,j,n,w,max:integer; boo:boolean; f:file of stud; st,buf:stud; gr:array of stud; procedure CreateList; begin ASSIGN(f,'C:/stud.DAT'); REWRITE(f); RESET(f); for i:=1 to 25 do begin writeln('Input record # ',i); write('Name '); readln(st.fio); write('Input group index '); readln(st.ind); for j:=1 to 5 do begin write('Input discipline # ',j); readln(st.discipline[j]); end; write('Input mark '); readln(st.mark); WRITE(f,st); end; close(f); writeln end; procedure ShowList; begin with buf do begin writeln('Name: ',fio ); writeln('Index: ',ind); writeln('Mark: ',mark); end; end; procedure ShareList; begin writeln('Input discipline number'); readln(a); SetLength(gr,25); boo:=false; ASSIGN(f,'C:/stud.DAT'); RESET(f); i:=1; while not eof(f) do begin read(f,st); if st.discipline[a]='1' then begin boo:=true; gr[i].fio:=st.fio; gr[i].ind:=st.ind; gr[i].mark:=st.mark; i:=i+1; end; end; if boo=false then writeln('Nobody wants this disciplines') else begin n:=i-1; if n>8 then begin max:=1; for j:=1 to 8 do begin for i:=2 to n do begin if gr[i].mark>gr[max].Mark then max:=i; end; buf:=gr[max]; gr[max].mark:=0; showlist; end; end else for i:=1 to n do begin buf:=gr[i]; showlist; end; end; SetLength(gr,0); close(f); end; begin W:=0; WHILE W<>3 DO BEGIN WRITELN('1 - Create List'); WRITELN('2 - Show Discipline List'); WRITELN('3 - Exit'); READLN(W); CASE W OF 1: CreateList; 2: ShareList; END; END; end. |
05.05.2009, 21:29 | #2 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Программа написана на Делфи под консоль.
Директиву {$APPTYPE CONSOLE} просто удалите. Вместо SetLength используйте Getmem. Естественно, не просто замените название, а почитайте о ней и исправьте как нужно. Обращение к динамическим переменным тоже изменится. Будет примерно так: Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
05.05.2009, 22:51 | #3 |
Пользователь
Регистрация: 31.03.2009
Сообщений: 11
|
Попробую огромное спасибо!!!
|
05.05.2009, 23:00 | #4 |
Пользователь
Регистрация: 31.03.2009
Сообщений: 11
|
уффф как жаль что мы всего одну пару с динамическими переменными просидели((( вообще их не понимаю(
Не говоря что о Getmem и Freemem и не слышал никогда.... |
05.05.2009, 23:04 | #5 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Там не очень сложно.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
05.05.2009, 23:35 | #6 |
Пользователь
Регистрация: 31.03.2009
Сообщений: 11
|
Не получается(((( Хоть бы пример где то нормальный найти....чтоб подглядеть
Последний раз редактировалось ApXoH; 06.05.2009 в 00:45. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите! Мне завтра сдавать!!! | Loren | Помощь студентам | 1 | 24.02.2009 15:49 |
помогите срочно завтра сдавать... | Defer | Помощь студентам | 2 | 25.01.2009 20:01 |
Помогите по паскалю завтра сдавать иначе выгонят!!!!! | Кристина | Паскаль, Turbo Pascal, PascalABC.NET | 10 | 13.01.2007 23:05 |