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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2012, 10:00   #1
миклух
Новичок
Джуниор
 
Регистрация: 16.04.2012
Сообщений: 1
По умолчанию сортировка структуры в бинарном файле

приветствую всех! появилась небольшая заминка у меня - немогу сравнить значения структуры, для того, чтоб отсортировать ее в бинарном файле. суть задачи:

1.Создать файл F1.dat, содержащий 8 записей следующей структуры: ФИО; номер телефона; год рождения
2.Написать программу, которая переписывает файл F1.dat в файл F2.dat таким образом, чтобы записи расположились в порядке убывания дат рождений.

собственно не могу понять как отсортировать структуру, вот что я написал, поправьте или ткните в пример:

Код:
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;

typedef struct rabotniki
        {
                char fio[20];
                int number;
                char pol[1];
                int g;
        }rab[8];
rab t;


int main()
{   
	setlocale (0,"Rus");
	FILE *f;
        FILE *f1;
    
	f=fopen("file1.dat","rb");
	fread(&t, sizeof(t), 1, f);

while (!feof(f))
{
for(int j=0;j<8;j++){
                
                   if(t[j].g<t[j+1].g)    
 
                  {
                         char fio2[20], pol2[2];
                                                         
                         int temp=t[j].number;                                    
                         t[j].number=t[j+1].number;                   
                         t[j].number=temp;                                      
                         
                         
                         int temp1=t[j].g;
                         t[j].g=t[j+1].g;
                         t[j].g=temp1;
                         
                         strcpy(pol2, t[j].pol);
                         strcpy(t[j].pol, t[j+1].pol);
                         strcpy(t[j+1].pol, pol2);
                         
                         strcpy(fio2, t[j].fio);
                         strcpy(t[j].fio, t[j+1].fio);
                         strcpy(t[j+1].fio, fio2);
        }
        

        }}


	f1=fopen("file2.dat","wb");
	fwrite(&t, sizeof(t), 1, f1); 

        fclose(f);
        fclose(f1);
        getch();
}
миклух вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка в файле (C) Dragonqc Помощь студентам 0 01.03.2012 02:37
сортировка структур в бинарном файле vvsh Общие вопросы C/C++ 1 25.06.2011 16:04
Сортировка списка в бинарном файле J_D Помощь студентам 0 28.05.2011 10:34
Поиск числа в бинарном файле. mazak Общие вопросы C/C++ 5 18.02.2010 12:05
сохранение структуры (динамические списки очередей) в файле AlenaZ Помощь студентам 2 09.06.2008 20:14