|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.06.2011, 17:15 | #11 |
Пользователь
Регистрация: 01.03.2011
Сообщений: 15
|
вторая
uses crt; const nmax=20;{макс. количество} type TStud=record{тип запись с полями по условию} fm:string[15]; im:string[15]; god:word; grp:word; him:byte; fiz:byte; alg:byte; end; var st,x,y:Tstud;{переменные типа запись для ввода, вывлода и сортировки f:file of Tstud;{типизированный файл записей} n,i,j,k:byte; begin clrscr; assign(f,'stud');{создаем файл для записи rewrite(f); repeat{вводим размер write('Количество студентов от 2 до ',nmax,' n='); readln(n); until n in [2..nmax]; writeln('Введите данные:'); for i:=1 to n do begin writeln('Студент ',i); with st do{пока данная запись begin{вводим ее поля write(' Фамилия: ');readln(fm); write(' Имя: ');readln(im); write(' Год рождения: ');readln(god); write(' Номер группы: ');readln(grp); repeat write(' Оценка по химии '); readln(him); write(' Оценка по физике '); readln(fiz); write(' Оценка по алгебре '); readln(alg); until (him in [2..5])and(fiz in [2..5])and(alg in [2..5]); end; write(f,st);{пишем запись в файл как его компонент end; clrscr; reset(f);{открываем и смотрим содержание в начале writeln('Полный список группы:':40); writeln; writeln('------------------------------------------------------------'); writeln('| Фамилия,имя | Г.р. | Группа | Химия | Физика | Алгебра |'); writeln('------------------------------------------------------------'); while not eof(f) do begin read(f,st);{читаем одну запись with st do begin gotoXY(1,whereY);write('| ',fm,' ',im);{выбираем позицию в текущей строке и выводим gotoXY(17,whereY);write('|',god:6); gotoXY(24,whereY);write('|',grp:7); gotoXY(33,whereY);write('|',him:4); gotoXY(41,whereY);write('|',fiz:4); gotoXY(50,whereY);write('|',alg:5); gotoXY(60,whereY);writeln('|'); end; end; writeln('------------------------------------------------------------'); close(f); write('Нажмите Enter'); readln; |
02.06.2011, 17:15 | #12 |
Пользователь
Регистрация: 01.03.2011
Сообщений: 15
|
clrscr;
writeln('Список отличников:':40); writeln; k:=0; reset(f); writeln('------------------------------------------------------------'); writeln('| Фамилия,имя | Г.р. | Группа | Химия | Физика | Алгебра |'); writeln('------------------------------------------------------------'); while not eof(f) do begin read(f,st); with st do if (him=5)and(fiz=5)and(alg=5) then{если три 5,} begin k:=1;{фиксируем и выводим gotoXY(1,whereY);write('| ',fm,' ',im); gotoXY(17,whereY);write('|',god:6); gotoXY(24,whereY);write('|',grp:7); gotoXY(33,whereY);write('|',him:4); gotoXY(41,whereY);write('|',fiz:4); gotoXY(50,whereY);write('|',alg:5); gotoXY(60,whereY);writeln('|'); end; end; writeln('------------------------------------------------------------'); if k=0 then writeln('Отличников нет'); close(f); write('Нажмите Enter'); readln; clrscr; writeln('Список получивших 2:':40); writeln; k:=0; reset(f); writeln('------------------------------------------------------------'); writeln('| Фамилия,имя | Г.р. | Группа | Химия | Физика | Алгебра |'); writeln('------------------------------------------------------------'); while not eof(f) do begin read(f,st); with st do if (him=2)or(fiz=2)or(alg=2) then{если есть хоть одна 2} begin k:=1; gotoXY(1,whereY);write('| ',fm,' ',im); gotoXY(17,whereY);write('|',god:6); gotoXY(24,whereY);write('|',grp:7); gotoXY(33,whereY);write('|',him:4); gotoXY(41,whereY);write('|',fiz:4); gotoXY(50,whereY);write('|',alg:5); gotoXY(60,whereY);writeln('|'); end; end; writeln('------------------------------------------------------------'); if k=0 then writeln('Получивших 2 нет'); close(f); write('Нажмите Enter'); readln; clrscr; writeln('Список студентов с фамилией на А:':40); writeln; k:=0; reset(f); writeln('------------------------------------------------------------'); writeln('| Фамилия,имя | Г.р. | Группа | Химия | Физика | Алгебра |'); writeln('------------------------------------------------------------'); while not eof(f) do begin read(f,st); with st do if fm[1]='A' then{если первая буква поля фамилия А} begin k:=1; gotoXY(1,whereY);write('| ',fm,' ',im); gotoXY(17,whereY);write('|',god:6); gotoXY(24,whereY);write('|',grp:7); gotoXY(33,whereY);write('|',him:4); gotoXY(41,whereY);write('|',fiz:4); gotoXY(50,whereY);write('|',alg:5); gotoXY(60,whereY);writeln('|'); end; end; writeln('------------------------------------------------------------'); if k=0 then writeln('Получивших 2 нет'); close(f); write('Нажмите Enter'); readln; clrscr; reset(f);{сортировка файла по возрастанию года рождения простым обменом} for i:=0 to filesize(f)-2 do for j:=i+1 to filesize(f)-1 do begin seek(f,i); read(f,x); seek(f,j); read(f,y); if x.god>y.god then begin st:=x; x:=y; y:=st; seek(f,i); write(f,x); seek(f,j); write(f,st); end; end; close(f); reset(f); writeln('Список группы по возрастанию года рождения:':40); writeln; writeln('------------------------------------------------------------'); writeln('| Фамилия,имя | Г.р. | Группа | Химия | Физика | Алгебра |'); writeln('------------------------------------------------------------'); while not eof(f) do begin read(f,st); with st do begin gotoXY(1,whereY);write('| ',fm,' ',im); gotoXY(17,whereY);write('|',god:6); gotoXY(24,whereY);write('|',grp:7); gotoXY(33,whereY);write('|',him:4); gotoXY(41,whereY);write('|',fiz:4); gotoXY(50,whereY);write('|',alg:5); gotoXY(60,whereY);writeln('|'); end; end; writeln('------------------------------------------------------------'); close(f); write('Нажмите Enter для выхода'); readln end. |
02.06.2011, 17:29 | #13 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Credo4444
я просил выложить структуру файла для анализа для второй задачи, и не исходник и кстати, в исходнике у тебя заполнение файла со студентами есть, в задаче же этого не требуется, просто прочитать и вывести
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
02.06.2011, 17:35 | #14 |
Пользователь
Регистрация: 01.03.2011
Сообщений: 15
|
Разработать алгоритм и программу для решение задачи по оброботке типизированных файлов
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Файлы (текстовые файлы) | Finn4ik | Помощь студентам | 0 | 25.04.2011 21:42 |
Файлы | Agent_147 | Общие вопросы Delphi | 1 | 13.04.2011 13:46 |
Не сохраняет файлы (Создает файлы пустышки) | Rock231 | Помощь студентам | 2 | 25.12.2010 12:31 |
Файлы данных.Типизированные файлы. | вылка | Помощь студентам | 6 | 17.05.2010 15:42 |
два вредных вопроса:про асю и прикриплёные файлы файлы | steck | Свободное общение | 3 | 17.06.2007 14:53 |