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

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

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

 
 Ответить  Открыть новую тему 
> типизированные файлы
сообщение
Сообщение #1





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

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


Здравствуйте. Прошу помощи решить задачку, которая идет у меня на ссесию. Можете посмотреть во вложении.
Но я еще и в сообщении ее написал.


Описание создаваемых файлов (используются далее в индивидуальных вариантах)
Создается типизированный файл записей. Предварительно создать структурированный пользовательский тип запись

Файл Студент
Структура записи:
•ФИО (40 знаков);
•номер курса (1 знак);
•номер группы (1 знак);
• успеваемость — 5 экзаменов в каждой из 10 сессий;
•форма обучения (целевая, договорная) (1 знак);
• экзамен:
— наименование предмета (10 знаков);
— оценка (1 знак).
Записи упорядочены по номеру курса, внутри курса — по номеру группы, в группе—по ФИО.


А вот и сама задача:
12. Создайте файл Студент. Занесите в отдельный файл записи из файла Студент, выполнив перевод студентов на следующий курс.

Очень нужно решить, я не знаю как: не работал с типизированными файлами. Спасибо.


Прикрепленные файлы
Прикрепленный файл  zadachka.zip ( 3.4 килобайт ) Кол-во скачиваний: 210
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


AJIMA3, таких задач тут решалось - не пересчитать. Поищи.

А про файлы прочти в FAQ, там есть специальная тема.

Сделай запись (тип). Заведи файл этих записей. Заведи переменную (запись). Заполни поля. Запиши. Заполни по новой. Запиши...
Считывать аналогично.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


Спасибо за ответ, но боюсь мне не удасться решить, даже прочитав темы. Инфы я начитался, а вот практики нет, плюс мне эту задачу уже на днях сдавать! Прошу решите. Я не решу ее сам! mega_chok.gif Прошу! Я уже несколько дней зря убил, а толку нет! Спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





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

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


Вот тут у меня есть наброски, но что-то не работает....

uses crt;

const
n = 1;
m = 1;
count = 3;

type
examine = record
exname: string;
mark: byte;
end;
student = record
FIO: string;
kursnum: byte;
groupnum: byte;
FO: char;
uspeh: array[1..n,1..m]of examine;
end;

procedure studentread(var stud: student);
var
i, j: word;
begin
with stud do
begin
Writeln('BBEDITE FIO:');
readln(FIO);
Writeln('BBEDITE KURS:');
readln(kursnum);
Writeln('BBEDITE GROUP:');
readln(groupnum);
Writeln('BBEDITE Formu Obucheniya:');
readln(FO);
{ readln(FIO, kursnum, groupnum, FO);}
for i:=1 to n do
for j:=1 to m do
with uspeh[i,j] do
readln(exname, mark);
end;
writeln;
end;

procedure studentwrite(stud: student);
var
i, j: word;
begin
with stud do
begin
writeln('FIO: ',FIO, ' kurs: ', kursnum, ' group: ', groupnum, ' education form: ',FO);
writeln('examination:');
for i:=1 to n do
for j:=1 to m do
with uspeh[i,j] do
writeln(exname, ' ', mark);
end;
end;

procedure studentswap(var stud1, stud2: student);
var
tempstud: student;
begin
tempstud:=stud1;
stud1:=stud2;
stud2:=tempstud;
end;

var
onestud: student;
students:array[1..count]of student;
f, next: file of student;
i, j: word;
begin
for i:=1 to count do
studentread(students[i]);
for i:=1 to count-1 do
begin
for j:=i+1 to count do
if (students[j].kursnum < students[i].kursnum) or
((students[j].kursnum = students[i].kursnum) and (students[j].groupnum < students[i].groupnum)) or
((students[j].kursnum = students[i].kursnum) and (students[j].groupnum = students[i].groupnum) and
(students[j].FIO < students[i].FIO)) then
studentswap(students[j], students[i]);
end;
assign(f, 'studenttest.txt');
rewrite(f);
for i:=1 to count do
write(f, students[i]);
close(f);
assign(next, 'studenttest0.txt');
rewrite(next);
reset(f);
for i:=1 to count do
begin
read(f, onestud);
if onestud.kursnum = 5 then
onestud.kursnum:= 0
else
inc(onestud.kursnum);
write(next, onestud);
studentwrite(onestud);
end;
close(f);
close(next);
readln;
end.


Прошу помогите!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 29.03.2024 4:13
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name