0 / 0 / 0
Регистрация: 23.11.2017
Сообщений: 6
1

Программа на Классе C++

03.12.2018, 19:27. Показов 409. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер,помогите пожалуйста найти ошибку в коде.
Вот задание:

Шахматный чемпионат проводится по круговой системе. В чемпионате участвуют N спортсменов (N 10). По результатам каждой игры составляется ведомость по форме: номер первого спортсмена, номер второго спортсмена, фамилии обоих спортсменов, результат игры (1:0, 0:1. 0.5:0.5), время игры первого и второго спортсменов(часы, минуты).
Требуется для заданного спортсмена определить и отпечатать: номер и фамилию, кол-во побед, ничьих и поражений, кол-во набранных очков.
Список отпечатать в следующем порядке: сначала все встречи в которых выиграл первый указанный спортсмен, затем – второй, затем – ничьи.

А вот собственно сам код программы

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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
 
using namespace std;
class Sport
{
    char NAME1[100], NAME2[100];
    int NOM1, NOM2;
    float RES[2];
    char TIME1, TIME2;
public:
    Sport();
    void GetSport();
    int Ochki();
    void printf();
};
void Sport::GetSport() 
{
    setlocale(LC_ALL,"Rus");
    class Sport *MAS;
    int N,i,P,n,p,var;
    float O=0;
    FILE *f1;
    char NAME[100], NF[20];
cout<<"\nВвод информации о встречах (0 - вручную, 1 - из файла)\n"; 
cin>>var; 
switch (var) 
{ 
case 0: 
cout<<"Vvedite kol sportsmenov-";
cin>>N;
 int *MAS = new int[N];
    for(int i=0;i<N;i++)
    {
            cout<<"Vvedite imia 1 sportsmena-";
            cin>>(MAS+i)->NAME1;
            cout<<"Vvedite imia 2 sportsmena-";
            cin>>(MAS+i)->NAME2;
            cout<<"Vvedite nomer 1 sportsmena-";
            cin>>(MAS+i)->NOM1;
            cout<<"Vvedite nomer 2 sportsmena-";
            cin>>(MAS+i)->NOM2;
            cout<<"Vvedite resultat igri-";
            cin>>(MAS+i)->RES;
            cout<<"Vvedite vremia igri 1 sportsmena-";
            cin>>(MAS+i)->TIME1;
            cout<<"Vvedite vremia igri 2 sportsmena-";
            cin>>(MAS+i)->TIME2;
     }
system("cls"); 
break; 
case 1: 
    cout<<"Input name of file-";
cin>>NF;
    if((f1=fopen(NF,"rt"))==NULL)
      cout<<"File not open";
else 
{ 
fin>>N;
int *MAS = new int[N];
for (int i = 0; i < N; i++) 
{ 
fin>>( (MAS+i)->NAME1); 
fin>>(MAS+i)->NAME2); 
fin>>(MAS+i)->NOM1); 
fin>>(MAS+i)->NOM2); 
fin>>(MAS+i)->RES); 
fin>>(MAS+i)->TIME1); 
fin>>(MAS+i)->TIME2);
} 
fin.close();
} 
break; 
default: 
cout<< "\nНЕКОРЕКТНО\n"; 
break; 
}
}
int Sport::Ochki()
{
    class Sport *MAS;
    int N,i,P,n,p,var;
    float O=0;
    FILE *f1;
    char NAME[100], NF[20];
cout<<"Vvedite imia sportsmena-";
     cin>>NAME;
     P=0;
     p=0;
     n=0;
     for(i=0;i<N;i++)
     {
     if (strcmp (*((MAS+i)->NAME1), *NAME)==0)
     {
     cout<<(MAS+i)->NOM1;
     cout<<NAME;
     if((MAS+i)->RES[0]=1)
     {
     P++;
     if((MAS+i)->RES[0]=0)
     p++;
     else n++;}
     
     }
     else
     {
     if (strcmp (*((MAS+i)->NAME2), *NAME)==0)
{
     if((MAS+i)->RES[1]==1)
     {
     P++;
     if((MAS+i)->RES[1]==0)
     p++;
     else 
     n++;
}
}
 }
}
O+=(P*1)+(n*0.5);
     cout<<P;
     cout<<p;
     cout<<n;
     cout<<O;
}
void Sport::printf()
{
    class Sport *MAS;
    int N,i,P,n,p,var;
    float O=0;
    FILE *f1;
    char NAME[100], NF[20];
for(i=0;i<N;i++)
     if ((MAS+i)->RES[0]==1)
     {
     cout<<(MAS+i)->NAME1;
     cout<<(MAS+i)->NOM1;
     cout<<(MAS+i)->NAME2;
     cout<<(MAS+i)->NOM2;
}
for(i=0;i<N;i++)
     if ((MAS+i)->RES[0]==0)
      {
     cout<<(MAS+i)->NAME1;
     cout<<(MAS+i)->NOM1;
     cout<<(MAS+i)->NAME2;
     cout<<(MAS+i)->NOM2;
}
for(i=0;i<N;i++)
     if ((MAS+i)->RES[0]==0.5)
      {
     cout<<(MAS+i)->NAME1;
     cout<<(MAS+i)->NOM1;
     cout<<(MAS+i)->NAME2;
     cout<<(MAS+i)->NOM2;
}
 
     free(MAS);
     
 }
 
int main()
{
    Sport R1;
    R1.GetSport();
    R1.Ochki(); 
    R1.printf();
   getche();
}
Буду очень благодарен за вашу помощь!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2018, 19:27
Ответы с готовыми решениями:

Программа для кодировки Гронсфельда на классе WinForms
Препод дал задание написать программу для кодировки Гросвельда на классе WinForms. Создал проект...

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

Доля отличников в классе больше 2/5, но меньше 3/7, а всего в классе не более 15 учеников. Сколько всего в классе учеников?
Добрый вечер! Подскажите, пожалуйста! &quot;Доля отличников в классе больше 2/5, но меньше 3/7, а...

Почему без пустого целочисленного поля в базовом классе программа виснет?
Итак, имеет три маленьких файлика: //expclasses10l.h class CLB { public: int...

0
03.12.2018, 19:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2018, 19:27
Помогаю со студенческими работами здесь

В классе инициализировать массив, в классе создать функцию вывода массива на экран
Прошу помоши с выводом данных, которые содержаться в массиве, на экраy: Задача: В классе...

Как использовать объект класса, созданого в определеном классе, в другом классе
У меня такой вопрос,как использовать объект класса,созданого в определеном классе,в другом классе.У...

Текстовые файлы: Программа по запросу выдает сведения о классе или сообщение о том, что класс не найден
В текстовом файле содержатся сведения о количестве учащихся в классах и их классных руководителях....

Как обьявить переменную в одном классе и что бы ее было видно в дочернем классе
У меня есть основной класс с названием Root один из его членов наследует дочерний класс SubRoot....

Как изменить название кнопки в классе dialog при нажатии на кнопку в классе mainwindow
Добрый день, я около месяца как начал изучать QT, то есть новичок. Собственно дело в следующем,...

Как использовать информацию парсированую в 1 классе в другом классе
имеются 2 класса , объясните плз в чём ошибка using System; using System.Collections.Generic;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru