Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++][Алгоритм] Слияние 2-ух тестовых файлов


Автор: Jater 2.12.2008, 19:46
Код

void main()
{
    struct student
    {  
        long num;
        char name[20]; 
    };
    FILE* in;
    FILE* out;    
    struct student s;    
    if (!(in=fopen("text1.txt","r")))
    {
        printf("open file failed\n");
        return ;
    }
    if (!(out=fopen("1.txt","wb")))
    {
        printf("open file failed\n");
        return ;
    }
    fscanf(in,"%s%d",&s.name,&s.num);
    while(!feof(in))
    {    
        fwrite(&s,sizeof(s),1,out);
        fscanf(in,"%s%d",&s.name,&s.num);
        
    }
    fclose(in);
    fclose(out);
    system("pause");
}

в файле text1 данные:
ФИО пробел НОМЕР ЗАЧЕТКИ
Например
Иванов 456345
Петров 456348
Иванова 456340
Петрова 456349

создание 2-ого бинарного файла

Код

void main()
struct dannie
    {  
        long num;
        long group;     //номер группы студента
        int ma;            //оценка по предмету
        int ga;            // -||-
        int pr;            // -||-
    };
    FILE* in1;
    FILE* out1;    
    struct dannie s;    
    if (!(in1=fopen("text2.txt","r")))
    {
        printf("open file failed\n");
        return ;
    }
    if (!(out1=fopen("2.txt","wb")))
    {
        printf("open file failed\n");
        return ;
    }
    fscanf(in1,"%d%d%d%d%d",&s.name,&s.group,&s.ma,&s.ga,&s.pro);
    while(!feof(in1))
    {    
        fwrite(&s,sizeof(s),1,out1);
        fscanf(in1,"%d%d%d%d%d",&s.name,&s.group,&s.ma,&s.ga,&s.pro);
        
    }
    fclose(in1);
    fclose(out1);
    system("pause");
}


вот 2-ой файл:
ГРУППА пробел НОМЕР ЗАЧЕТКИ пробел Оценка МА пробел Оценка ГЕО пробел Оценка ПРОГ
Например
4 456345 5 3 4
4 456348 4 3 4
5 456340 5 3 5
5 456349 4 5 4

нужно сделать  функцию для создания  нового  бинарного файла по принципу:

ФИО пробел №зачетки пробел Оценка МА пробел Оценка ГЕО пробел Оценка ПРОГ

очень нужна помощь!
заранее спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)