Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
#1

Сортировка файла (ключ - средний бал студента; метод сортировки QuickSort и пузырьковая сортировка) - C++

22.05.2013, 18:41. Просмотров 702. Ответов 0
Метки нет (Все метки)

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

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

заранее благодарю.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#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;
    }
}
Добавлено через 6 часов 13 минут
___

Добавлено через 1 час 6 минут
Всем спасибо, решил сам.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 18:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка файла (ключ - средний бал студента; метод сортировки QuickSort и пузырьковая сортировка) (C++):

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

Методы сортировки: QuickSort и сортировка вставкой - C++
Помогите добавить сортировки в программу. Упорядочить по неубыванию массив структур по заданному ключу. Ключ: возраст. Методы...

Сортировка методом QuickSort - C++
Я только недавно начал изучать програмирование. Нужно отсортировать масив методом QuickSort, суть метода я понял. Все способы...

Алгоритмы сортировки: прямые, улучшенные (Сортировка с помощью прямого включения (метод простых вставок)) - C++
Задание 1. Сортировка с помощью прямого включения (метод простых вставок). Методические указания к выполнению задания 1 ...

2 сортировки: пирамидальная сортировка и сортировка слиянием - C++
Реализовать два улучшенных алгоритма сортировки. Для каждого алгоритма вычислить показатель качества сортировки (количество операций, т.е....

Пузырьковая сортировка - C++
Здравствуйте .Объясните , пожалуйста , подробно , как работает пузырьковая сортировка . Получается сравниваются два соседних элемента и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2013, 18:41
Привет! Вот еще темы с ответами:

Пузырьковая сортировка - C++
Помогите исправить не сортирует массив.Еще должен считать кол-во шагов прохода цикла. #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include...

Пузырьковая сортировка - C++
Хочу спросить, это пузырьковая сортировка или нет? Как её правильно реализовать? Как оценить эффективность алгоритма сортировки по числу...

Пузырьковая сортировка - C++
Здравствуйте. Есть код, который сортирует методом пузырька по строчкам, что мне поменять, чтобы была сортировка по столбцам начиная с...

Пузырьковая сортировка - C++
Помогите плз. Работаю в Visual Studio 2010. Написал алгоритм пузырьковой сортировки, но когда запускаю вместо одной из цифр выводится самое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru