Показать сообщение отдельно

  #4  
Старый 25.11.2008, 10:57
kmsboy
Новичок
Регистрация: 25.11.2008
Сообщений: 1
Провел на форуме:
929

Репутация: 0
По умолчанию

Ребята помогите, зачёт на носу, РГЗ сдавать нужно, ужас
Помогите отсортировать массив структур по полю 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();
}
Заранее благодарен!!!
 
Ответить с цитированием