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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2012, 23:43   #1
DarkExcellent
Новичок
Джуниор
 
Регистрация: 08.11.2012
Сообщений: 1
Печаль Типизированный тип файлов(Delphi 7)

Здравствуйте, помогите плиз. На практике написал прогу для создания текстового файла, в котором должно быть: Имя студента, оценки по предметам и средний балл. Мне задали задание сделать этот файл типизированным а не текстовым. Как это сделать? Я слабо разбираюсь так что не злитесь если что то не понял.
Вот программа:
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type

 TPredmet = record
 name:string[20];
 ocenka:Byte;
 end;

 TStudent = record
 fName:string[20];
 ppR:array[1..3] of TPredmet;
 srb:Double;
 end;

 var
   MyFile:TextFile;
   Massivl:array[1..5] of TStudent;
   i,j,temp,tempO,k,tempI,n:Integer;
   tName,tp:string[30];
   str,TSTR:string[250];
   tMax:Double;

begin
  AssignFile(MyFile,'C:\Program Files\Borland\Delphi7\Projects\Laba2\file');
  ReWrite(MyFile);
  tempO:=0;
  for i := 1 to 5 do
  begin
    Writeln('Vvedite imya studenta :',i);
    Readln(tName);
    Massivl[i].fName:=tName+' ';
    Writeln('Vvedite ocenku studenta po predmetu:');
    for j := 1 to 3 do
    begin
      case j of
      1:
      begin
        Write('OOP: ');
        tp:='OOP';
      end;
      2:
      begin
        Write('Java: ');
        tp:='Java';
      end;
      3:
      begin
        Write('KST: ');
        tp:='KST';
      end;
      end;
      Readln(temp);
      Massivl[i].ppR[j].name:=' '+tp+' ';
      Massivl[i].ppR[j].ocenka:=temp;
      tempO:=tempO + Massivl[i].ppR[j].ocenka;
    end;
    Massivl[i].srb:= tempO / 3;
    tempO:=0;
  end;

  for k := 1 to 5 do
  begin
    for i :=4 downto 1 do
    if Massivl[i+1].srb >= Massivl[i].srb
    then
    begin

      TSTR:=Massivl[i].fName;
      Massivl[i].fName:=Massivl[i+1].fName;
      Massivl[i+1].fName:=TSTR;

      for n := 1 to 3 do
      begin
      tempI := Massivl[i].ppR[n].ocenka;
      Massivl[i].ppR[n].ocenka:=Massivl[i+1].ppR[n].ocenka;
      Massivl[i+1].ppR[n].ocenka:=tempI;
      end;

      tMax:=Massivl[i].srb;
      Massivl[i].srb:=Massivl[i+1].srb;
      Massivl[i+1].srb:=tMax;
    TSTR:='';
    end;
    end;

  for i := 1 to 5 do
  begin
      Write(MyFile, Massivl[i].fName);
      for j := 1 to 3 do
      begin
        Write(MyFile, Massivl[i].ppR[j].name , Massivl[i].ppR[j].ocenka);
      end;
      Write(MyFile, '');
      Write(MyFile, ' Srb ',Massivl[i].srb:1:2);
      Writeln(MyFile, '');
      end;
  Closefile(MyFile);
  AssignFile(MyFile, 'C:\Program Files\Borland\Delphi7\Projects\Laba2\file.dat');
  Reset(MyFile);
  While not Eof(MyFile) do
  Begin
    ReadLn(MyFile,str);
    WriteLn(str);
  End;
  Closefile(MyFile);
  Readln;
end.
DarkExcellent вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типизированный файл?!(Delphi) Npwas Помощь студентам 4 11.05.2012 20:34
Тип данных запись, необходимо создать типизированный файл записей sifa Помощь студентам 1 29.11.2011 21:56
Тип файлов. BigBong Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 22.09.2011 10:40
Перевести тип String в тип PChar (Delphi 7) ScorpioN_T Помощь студентам 2 28.10.2008 22:13