Сортировка Файла

Тема в разделе "Общие вопросы по С и С++", создана пользователем shilovec5377, 22 май 2013.

  1. shilovec5377

    shilovec5377 Member

    Регистрация:
    13 апр 2012
    Сообщения:
    12
    Симпатии:
    0
    Всем привет. Есть прога, которая записывает студентов в файл и выводит на экран студентов средний бал который >='6'.
    Помогите пж отсортировать файл по условию :

    ключ - средний бал. Метод сортировки QuickSort и пузырьковая сортировка.

    заранее благодарю.

    Код (C++):
    #include <iostream.h>
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <fstream.h>
    #include <math.h>


    FILE *fl;

    typedef struct
    {
    char fio[30];
    double matem;
    double oaip;
    double english;
    double srb;
    }TStudent;

    TStudent stud[30]; //?????? ????????
    char name[20];//??? ?????
    int nst=0;//????? ????????? ????????

    int menu(); //????
    void spisok(); //?????? ??????
    void resf();  //????????? ????????? ? ????
    void resc();  //??????? ????????? ?? ?????




    int main()
    {
    while (true)
    {
    switch (menu())
    {

    case 1: spisok(); break; //?????? ??????
    case 2: resf(); break; //????????? ????????? ? ????
    case 3: resc(); break; //??????? ????????? ?? ?????


    case 4: return 0;
    default: "Viberite pravilno!";
    }
    puts("pres any key to continue");
    getch();
    system("cls");
    }
    }


    int menu()//????
    {
    cout<<"viberite:"<<endl;
    cout<<"1.vvod studentov"<<endl;
    cout<<"2.sohranit rezultat v file"<<endl;
    cout<<"3.vivesti rezultat na ekran"<<endl;

    cout<<"4.Exit"<<endl;
    int i;
    cin>>i;
    return i;
    }





    void resc() //na ekran
    {
    char fio[30];
    double matem;
    double oaip;
    double english;
    double srb;


    ifstream fin("ofile.txt", ios::in);

    fin.getline(fio, 30);
    fin >> matem >> oaip >> english>>srb;
    fin.ignore(1);



    for (int i=0;i<nst;i++)
    {
    if(srb >= 6.0)



    cout << fio << '\n' << matem << '\n' << oaip << '\n' << english << '\n'<< srb << "\n\n";

    fin.getline(fio, 30);
    fin >> matem >> oaip >> english>>srb;
    fin.ignore(1);

    }
    fin.close();
    system("pause");
    }



    void spisok () //?????? ??????
    {

    cout<<"vvedite chislo studentov"<<endl;
    cin>>nst;

    for (int i=0;i<nst;i++)
    {
    cout<<"vvedite imya: ";
    cin>>stud[i].fio;
    cout<<"vvedite ocenki po matem.: ";
    cin>>stud[i].matem;
    cout<<"vvedite ocenku po oaip: ";
    cin>>stud[i].oaip;
    cout<<"vvedite ocenku po english: ";
    cin>>stud[i].english;


    stud[i].srb=( (stud[i].matem)+(stud[i].oaip)+(stud[i].english) )/3;

    }
    }



    void resf()////sohran file
    {




    ofstream fout("ofile.txt", ios::app);
    for (int i=0;i<nst;i++)


    {


    fout << stud[i].fio << endl << stud[i].english << endl
    << stud[i].matem << endl << stud[i].oaip << endl<< stud[i].srb << endl;
    }
    }
     
  2. shilovec5377

    shilovec5377 Member

    Регистрация:
    13 апр 2012
    Сообщения:
    12
    Симпатии:
    0
    Всем спасибо, решил сам.
     
Загрузка...
Похожие Темы - Сортировка Файла
  1. vera2014
    Ответов:
    0
    Просмотров:
    1.070
  2. Liori
    Ответов:
    2
    Просмотров:
    1.005
  3. FCDK
    Ответов:
    0
    Просмотров:
    1.264
  4. ленарано
    Ответов:
    1
    Просмотров:
    1.103
  5. Creder
    Ответов:
    0
    Просмотров:
    1.345

Поделиться этой страницей