Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Паскаль, типизированные файлы, помогите доделать (http://www.tehnari.ru/f41/t60741/)

Dan2011 04.12.2011 21:37

Паскаль, типизированные файлы, помогите доделать
 
У меня есть запись подготовленных данных (код), не знаю как сделать следующее: Разработать программу записи подготовленных данных во внешний файл, вывод исходных данных из файла, добавление данных в файл.
Необходимо использовать меню. Пожалуйста, кому не жалко времени, напишите код до конца.
Код:

uses crt;
type
studlib=record
FIO:string;
Birth_Date:string;
Course:integer;
Year: word;
Marks:Array [1..3] of integer;
Mmark: Real;
end;

var
stud: Array [1..10] of studlib;
i,N: integer;
Procedure Out_Date (std: Studlib);
var j: integer;
begin
with std do
begin
write (FIO);
FOR J:=Length (FIO)+ 1 TO 30 DO WRITE ('');
WRITE (Birth_Date);
write (Course:3);
write (Year:5);
for j:= 1 to 3 do
write (Marks [j]:4);
writeln (Mmark:7:2);
end;
end;
BEGIN
clrscr;
N:=0;
writeln ('Vvеdite dannie o studentah');
repeat
Inc(N);
WITH stud[N] do
begin
write ('FIO:');
readln(FIO);
WRITE ('Birth Date (dd.mm.yyyy.):');
readln(Birth_Date);
write('Course');
write('Year of entry:');
readln(Year);
Mmark:=0;
for i:=1 to 3 do
begin
write('Mark',i,'=');
readln(Marks);
Mmark:=Mmark+Marks/3;
end;
end;
clrscr;
writeln ('Enter-prodoljiti, ESC-vyiti');
until (readkey=#27) or (N=100);
clrscr;
writeln ('Stipendiaty:');
for i:=1 to N do
if stud. Mmark>=7.0 then
Out_Date(stud);
readkey;
END.


Dan2011 04.12.2011 22:08

Вот какая-то подсказка как сделать, только не понимаю как. Знатоки, вся надежда на вас.
type
studlib=record
FIO:string;
Birth_Date:string;
Course:integer;
Year: word;
Marks:Array [1..3] of integer;
Mmark: Real;
end;

var
i: integer;
studrec : studlib; {запись}
StudFile: file of studlib; {сам файл}
begin
Fillchar(StudRec,Sizeof(StudRec),0); {зачищаем от мусора}
Assign(StudFile, 'StudFile.dat'); {объявляем файл }
Rewrite(StudFile); {создаем или открываем Reset файл}

for i:=1 to 10 do {и чего нибудь пишем в него....}
begin
StudRec.Course := i;
Write(StudFile, StudRec);
end;

Close(StudFile); {не забываем закрыть}
end. {для того чтобы прочитать или записать нужную запись}
{не забываем позиционирование на нее Seek(StudFile, MyRecNo)}

Vladimir_S 04.12.2011 22:27

Да... ведь прошу, как людей: НЕ КЛОНИРУЙТЕ ТЕМЫ И ТОПИКИ http://www.tehnari.ru/f22/t60188/ - нет, всё мимо. Да ну вас!

Dan2011 04.12.2011 22:37

Очень прошу извинить.


Часовой пояс GMT +4, время: 08:50.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.