Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка в файле 
:(
    Опции темы
Archiolidius
Дата 3.3.2012, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 24.2.2012

Репутация: нет
Всего: нет



Подскажите как отсортировать даные в файле по одному критерию?
Код

#include <iomanip>
#include <stdlib.h>
#include <fstream>
#include<iostream>
using namespace std;
#define MAXLEN 20
struct Team{  //определяем структуру team(команда) 
    int Num;
        char name[MAXLEN]; //имя
        int washer; //количество голов
        int transmission;//кол-во голевых передач
        double time;//часы
};
 
int enterChoice(void);
void textFileS(fstream&);
void textFileD(fstream&);
void OutputD();
void OutputS();
void outputLine (ostream&, Team);
int main(){
    setlocale(LC_ALL,"Russian");
    fstream inOutTeam("Dynamo.dat", ios::in | ios::out);
    if(!inOutTeam){
        cerr<< "Errror" <<endl;
        exit(1);
    }
int choice;
while((choice=enterChoice()) !=5) {
    switch(choice){
    case 1:
        textFileD(inOutTeam);
        break;
    case 2:
        textFileS(inOutTeam);
        break;
    case 3:
        OutputD();
        break;
    case 4:
        OutputS();
        break;
}
inOutTeam.clear();
}
system("pause");
return(0);
}
 
 
int enterChoice(void){
    cout<<"1- создание и заполнение файла Dynamo.dat"<<endl;
    cout<<"2- создание и заполнение файла Spartak.dat"<<endl;
    cout<<"3- Просмотр файла Dynamo.dat"<<endl;
    cout<<"4- Просмотр файла Spartak.dat"<<endl;
int menuChoice;
cin>>menuChoice;
return menuChoice;
}
void textFileD(fstream &readFromFile){
    ofstream outCreateFile("Dynamo.dat", ios::out);
    if(!outCreateFile){
        cerr<<"Errror"<<endl;
        exit(1);
}
Team plauer;
for (plauer.Num=1; plauer.Num<=2; plauer.Num++){
cout<<"Игрок "<<plauer.Num<<":"<<endl;
cout<<"Имя ";
cin>>plauer.name;
cout<<"Голов ";
cin >> plauer.washer;
cout<<"голевых передач ";
cin >> plauer.transmission;
cout<<"Time ";
cin >> plauer.time;
outCreateFile.write((char*)&plauer,sizeof(plauer));
}
}
void textFileS(fstream &readFromFile){
    ofstream outCreateFile("Spartak.dat", ios::out);
    if(!outCreateFile){
        cerr<<"Errror"<<endl;
        exit(1);
}
Team plauer;
for (plauer.Num=1; plauer.Num<=2; plauer.Num++){
cout<<"Игрок "<<plauer.Num<<":"<<endl;
cout<<"Имя ";
cin>>plauer.name;
cout<<"Голов ";
cin >> plauer.washer;
cout<<"голевых передач ";
cin >> plauer.transmission;
cout<<"Time ";
cin >> plauer.time;
outCreateFile.write((char*)&plauer,sizeof(plauer));
}
}
void OutputD(){
    ifstream  Create("Dynamo.dat", ios::in);
    cout<<setiosflags(ios::left) <<setw(6)<<"Номер игрока"<<setw(6) <<"Имя"
          <<setw(16)<<"Голов"<<setw(11)<<"Гол пер"
          <<setiosflags(ios::right) <<setw(10) <<"время"<<endl;
    Team plauer;
    Create.read((char*)&plauer,sizeof(Team));
    while(! Create.eof()){
        outputLine(cout, plauer);
        Create.read((char*)&plauer,sizeof(Team));
    }
}
void OutputS(){
    ifstream  Create("Spartak.dat", ios::in);
    cout<<setiosflags(ios::left) <<setw(6)<<"Номер игрока"<<setw(6) <<"Имя"
          <<setw(16)<<"Голов"<<setw(11)<<"Гол пер"
          <<setiosflags(ios::right) <<setw(10) <<"время"<<endl;
    Team plauer;
    Create.read((char*)&plauer,sizeof(Team));
    while(! Create.eof()){
        outputLine(cout, plauer);
        Create.read((char*)&plauer,sizeof(Team));
    }
}
void outputLine(ostream &output, Team c){
    output<<setiosflags(ios::left)<<setw(6)<<c.Num <<setw(6)<<c.name
          <<setw(16)<<c.washer<<setw(11)<<c.transmission
          <<setiosflags(ios::right) <<setw(10) <<c.time<<endl;
 
}

Мне нужно отсортировать файл по (washer+transmission) как это сделать?
PM MAIL   Вверх
boostcoder
Дата 3.3.2012, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



ты решил все форумы изгадить этим вопросом?
тебе в центр помощи.

Добавлено через 39 секунд
Цитата(Archiolidius @  3.3.2012,  16:46 Найти цитируемый пост)
как это сделать?

с помощью моцга+рук+клавы
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0746 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.