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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2009, 01:57   #1
rest
Пользователь
 
Аватар для rest
 
Регистрация: 01.03.2009
Сообщений: 11
По умолчанию работа с файлами Builder C++ 6

Нужно считать из файла массив структур
Упорядочить его и вывести в Memo1

Вот мой код что не правильно, он сортирует но добавляет один не понятный элемент с именем из случайных символов а остальные поля вообще не заполнены

Код:
struct TPerson{
       char Fio[30];
       int otd;
       char dol[20];
       char nrab[10];
       int stazh;
       }Person;
int size=sizeof(TPerson);
FILE *FPerson;
AnsiString File_Person;

//---------ф-ция вывода 1 записи----------------------------------------
void Out(TPerson p,TMemo *Memo1)
 {
  Memo1->Lines->Add(AnsiString(p.Fio));
  Memo1->Lines->Add("№ отдела: "+IntToStr(p.otd));
  Memo1->Lines->Add("Должность: "+AnsiString(p.dol));
  Memo1->Lines->Add("Дата начала работы:"+AnsiString(p.nrab));
  Memo1->Lines->Add("Стаж: "+IntToStr(p.stazh));
  Memo1->Lines->Add("*******************************");
 }
//------------------------------------------------------------------------

int i,k=0;
  FPerson=fopen(File_Person.c_str(),"rb");
  TPerson st, *m, buf;
  int Df=fileno(FPerson);
  int len=filelength(Df);
  int kol=len/size;
  m=new TPerson[kol];
  for(i=0;i<kol;i++)
    fread((m+i),size,1,FPerson);
  fclose(FPerson);
  Memo1->Clear();
  Memo1->Lines->Add("Сортированые сведения");
  for(i=0;i<kol;i++){
    for(int j=i+1;j<=kol;j++){
    if(m[j].stazh<m[i].stazh){
      buf=m[i];
      m[i]=m[j];
      m[j]=buf;
      k++;
    }}}
    for(i=0;i<kol;i++) Out(m[i],Memo1);
  if(k==0)Memo1->Lines->Add("Нет студентов с баллами ниже 4");
//  delete []m;

Последний раз редактировалось rest; 01.04.2009 в 01:21.
rest вне форума Ответить с цитированием
Старый 01.04.2009, 01:24   #2
rest
Пользователь
 
Аватар для rest
 
Регистрация: 01.03.2009
Сообщений: 11
По умолчанию

кто-нибудь разбирается в файлах
в Builder?
rest вне форума Ответить с цитированием
Старый 01.04.2009, 16:42   #3
Svetlag
Пользователь
 
Аватар для Svetlag
 
Регистрация: 24.02.2009
Сообщений: 85
По умолчанию

Покажите, как записываете в бинарный файл.
Svetlag вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с матрицами (С++ Builder) Катюшенька Помощь студентам 2 15.03.2009 15:53
Работа с файлами [MI_nor] Общие вопросы C/C++ 4 08.03.2009 17:50
Работа с файлами Скрунж Паскаль, Turbo Pascal, PascalABC.NET 1 18.10.2008 15:19
Работа с файлами Smith777 Помощь студентам 4 23.02.2008 05:08
Работа с файлами Dim@ Помощь студентам 1 26.12.2007 22:43