Ребята помогите, зачёт на носу, РГЗ сдавать нужно, ужас
Помогите отсортировать массив структур по полю int win!!!
Составить программу обработки итоговой таблицы шахматного турнира.
Игры проходили в один круг, каждый из участников встретился
с другими участниками по одному разу. Обработка должна включить:
- формирование итоговой таблицы турнира с расстановкой участников
согласно набранным очкам (за победу - 1, за ничью - 0,5, за поражение - 0);
- вывести фамилии 3-х участников: больше всего побед, поражений, ничьих.
Используемый файл "
players.txt"
players_1 1 5 9
players_2 2 6 8
players_3 3 7 7
players_4 4 8 6
players_5 4 8 6
Код:
/*
* Код программы
*/
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <math.h>
#include <windows.h>
#include <iostream.h>
using namespace std;
void rusmsg(char *string) {
char message[100];
CharToOem(string, message);
cout << message;
}
/*
* Обьявляем переменные необходимые для работы
*/
int buffer;
char filename[64];
int ch, i = 0;
double w;
FILE *fp;
struct player {
char name[32];
int win, tie, spank;
double point;
} pd[sizeof (i)];
void main() {
rusmsg("Лабораторная работа №6\ncтудента гр. 7ВТ3Д-1\nВасильев А.Н.\n\n");
if ((fp = fopen("players.txt", "r")) == NULL) {
rusmsg("Файл не найден\n>");
getch();
exit(0);
}
/*
* Вывод заголовка таблица учасников турнира
*/
cout << " --------------------------------------------------" << endl;
rusmsg("| # | Игрок | Побед | Ничьх | Поражений | Очки |\n");
cout << " --------------------------------------------------" << endl;
/*
* Формирование таблицы участников турнира
*/
while (ch != EOF) {
fscanf(fp, "%s %i %i %i", &pd[i].name, &pd[i].win, &pd[i].tie, &pd[i].spank);
pd[i].point = pd[i].win + (pd[i].tie * 0.5);
ch = fgetc(fp);
i++;
}
fclose(fp);
getch();
}
Заранее благодарен!!!