Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
23 / 23 / 1
Регистрация: 06.04.2014
Сообщений: 198

Хранение статистических данных в файлах и их обработка

12.01.2015, 22:01. Показов 1053. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано: В шахматном турнире принимают участие 10 шахматистов. Сформировать файл фамилий участников и результатов встреч: фамилия, встреча1, встреча2, встреча3, где выигрыш -2, ничья -1, проигрыш -0). Вывести в виде таблицы информацию из созданного файла. Предусмотреть возможность дополнения созданного файла. Переписать в новый файл информацию о командах, в которых выигрышей, больше проигрышей.
Не получается выполнить это условие(подтолкните на правильную мысль): Переписать в новый файл информацию о командах, в которых выигрышей, больше проигрышей. Это условие должно выполняться в функции printfwin();
Код программы:
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
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <stdio.h>
#include<windows.h>
#include<iostream.h>
#include <stdlib.h>
#include <iomanip.h>
void input () ;
void dop() ;
void print() ;
void printwin() ;
 
int main(int argc, char* argv[])
{SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 setlocale(LC_ALL,"Rus");
int nom
while (1)
{printf("\n 1. Сформировать файл \n");
printf ("\n 2. Дополнение \n");
printf ("\n 3. Просмотреть участников \n");
printf ("\n 4. Просмотреть информацию о командах, в которых выигрышей, больше проигрышей \n");
printf ("\n 5. Выход из программы \n");
printf ("\n Введите номер :   ");
cin>>nom;
switch (nom)
{  case 1: input () ; break;
   case 2: dop() ; break;
   case 3: print() ; break;
   case 4: printwin() ; break;
   case 5: return 0;
   default: cout <<" Такого номера нет, введите заново! \n";
}
}
 
        return 0;
}
 
void input ( ) // функция заполнения 
{  int i;
int const num=10;
   struct prolig {char familia[20];int vst1;int vst2;int vst3;int kom;} t1; 
   FILE *f;
   f=fopen("tyrnir.dat","wb");    
    printf  ("\n Введите номер команды(1 или 2), 10 шахматистов,баллы за встречи(2-выйгрыш,1-ничья,0-проигрыш): \n");
   for (i=1;     i<=num;   i++)
      {   printf ("\n Команда : ");    scanf("%i",&t1.kom); 
          printf ("\n Фамилия участника :");     scanf("%s",&t1.familia);
          printf ("\n Встреча 1 : ");    scanf("%i",&t1.vst1);
          printf ("\n Встеча 2 : ");  scanf("%i",&t1.vst2);
          printf ("\n Встреча 3 : ");    scanf("%i",&t1.vst3);       
          fwrite (&t1, sizeof (t1), 1, f);  //запись одной структуры  в файл f
          //аналог : fprintf (tf," \n %20s %6.2f %4d", t1.name, t1.c, t1.kol);
       }
    fclose (f);
    return 0;}
 
void print () \\функция вывода всех участ. в виде таблицы
{      
    struct tyrnir {char familia[20];int vst1;int vst2;int vst3;int kom;} l1;
   FILE *f;
   f=fopen("tyrnir.dat","rb");  
 
   printf ("\n Чтение всех данных из файла tyrnir.dat: \n");
   printf ("\n____________________________________________________________");
   printf ("\n|Команда |     Фамилия     | Встреча 1| Встреча 2| Встреча 3|");
   while(!feof(f))
     { fread (&l1, sizeof (l1), 1, f); 
printf ("\n____________________________________________________________",l1.kom, l1.familia, l1.vst1,l1.vst2,l1.vst3);
printf ("\n| %4i   |%15s  | %6i   | %6i   | %6i   | ",l1.kom,l1.familia, l1.vst1,l1.vst2,l1.vst3);
      }
      printf ("\n____________________________________________________________");
        printf("\n");
 
        fclose (f);
        return 0;}
 
void dop ( ) // функция дополнения
{  int i, num;
   struct prolig {char familia[20];int vst1;int vst2;int vst3;int kom;} l1;
   FILE *f;
   f = fopen ("tyrnir.dat","ab");    // открытие файла для записи
    printf  ("\n Сколько записей будет вводиться: "); scanf ("%d", &num);
    printf  ("\n Введите номер команды(1 или 2), 10 шахматистов,баллы за встречи(2-выйгрыш,1-ничья,0-проигрыш): \n");
   for (i=1;     i<=num;   i++)
      {   printf ("\n Команда : ");    scanf("%i",&l1.kom);
          printf ("\n Фамилия участника :");     scanf("%s",&l1.familia);
          printf ("\n Встреча 1 : ");    scanf("%i",&l1.vst1);
          printf ("\n Встеча 2 : ");  scanf("%i",&l1.vst2);
          printf ("\n Встреча 3 : ");    scanf("%i",&l1.vst3);   
      fwrite (&l1, sizeof (l1), 1, f);
       }
    fclose (f);
    return 0;}
 
void printwin () 
{
//Переписать в новый файл информацию о командах, в которых выигрышей, больше проигрышей.
}
Могут быть ошибки, просто у меня функции были разбиты по разным файлам..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.01.2015, 22:01
Ответы с готовыми решениями:

Существования библиотеки статистических данных
Здравствуйте! При решении математических задач мы используем подключение математической библиотеки #include &lt;math.h&gt;. Для нахождения...

Хранение статистических данных
Здравствуйте. Пишу сниффер сетевого трафика. Сканирую проходящий трафик с помощью winsock2. Получаю пакеты. Задача стоит как-то...

Обработка статистических данных в MathCAD
Помогите пжлста) Даны 2 выборки X и Y. Построить диаграмму рассеивания. Найти коэффициент парной корреляции с помощью функции corr...

2
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
14.01.2015, 09:16
Цитата Сообщение от mraZzzb Посмотреть сообщение
В шахматном турнире принимают участие 10 шахматистов
Цитата Сообщение от mraZzzb Посмотреть сообщение
Переписать в новый файл информацию о командах
Как они кучкуются в команды?

Цитата Сообщение от mraZzzb Посмотреть сообщение
Не получается выполнить это условие(подтолкните на правильную мысль): Переписать в новый файл информацию о командах, в которых выигрышей, больше проигрышей
Если на каждого шахматиста/команду по одному отдельному файлу, то следует их все по очереди открывать, считывать из них количество побед и поражений, запоминать их соотношение и соответствующие им атрбуты команд, суммировать по командам или как там, и все. Потом выяснять наилучшую команду и записывать ее в файл.
1
23 / 23 / 1
Регистрация: 06.04.2014
Сообщений: 198
14.01.2015, 11:06  [ТС]
SatanaXIII, Спасибо, я разобрался !!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.01.2015, 11:06
Помогаю со студенческими работами здесь

Хранение данных в файлах
Пытаюсь освоить delphi и возникает очень много вопросом и непоняток. Особенно с &quot;выделением памяти&quot;. Очень тяжело понять логику...

Хранение данных в файлах
В каком случае лучше хранить данные в файлах в виде байт? Кроме того случая, когда нужно защитить их от чьих-то глаз? Правильнее...

Хранение больших объемов данных в файлах.
Добрый день. Столкнулся с проблемой необходимо хранить и обработывать большое количество массивов, решил что эфферктивно создать в...

Хранение таблиц базы данных в файлах
Здравствуйте! Помогите, пожалуйста, разобраться с хранением таблиц базы данных в файлах. Начал изучать создание приложений uwp. ...

Хранение и обработка данных с использованием линейных списков
Люди, помогите пожалуйста!!! Дали задание к курсовой работе. Сделать надо любое из двух (какое легче) но сделать не могу ни 1, ни 2 ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru