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

Программа обработки итоговой таблицы - C++

Восстановить пароль Регистрация
 
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
26.04.2011, 21:37     Программа обработки итоговой таблицы #1
Составить программу обработки итоговой таблицы чемпионата по футболу. Игры проходили в один круг, каждая команда играла с другой один раз. В программе предусмотреть ввод исходный данных в файл. Обработка должна включать в себя-построение итоговой таблицы чемпионата с распределением команд согласно занятым местам с подсчетом очков,набранных каждой командой (победа-2 очка,ничья-1, поражение 0)определение и вывод названия команды(команд):одержавших наибольшее количество побед,забивших в чемпионате наибольшее количество мячей,имующую лучшую разность забитых и пропущеннных мячей.

ПРОШУ О ПОМОЩИ!!!!!НЕ ЗНАЮ ДАЖЕ С ЧЕГО НАЧАТЬ!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2011, 21:37     Программа обработки итоговой таблицы
Посмотрите здесь:

Программа обработки текстового файла C++
C++ Программа для обработки информации об автомобилях, сдающихся на прокат
C++ Программа построения таблицы значений функции
C++ программа для печать таблицы в с++
C++ программа обработки сведений
Программа вывода сетки таблицы размером 2*2 C++
C++ Программа обработки данных об учениках
Программа обработки массива символов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
06.05.2011, 21:02  [ТС]     Программа обработки итоговой таблицы #2
Создала структуры помогите вывести её и как разбить ещё чтобы работать с ней?
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
#include "stdafx.h"
#include "iostream"
#include <conio.h>
#include <fstream>
 
struct tab 
{
    char name[1024];
    char pob[1024];
    char por[1024];
    char nich[1024];
    char zab[1024];
    char prop[1024];
}
 
void main()
 
{
    setlocale(LC_ALL,"Russian");
    FILE*str;
    str=fopen("m.txt","r");
    
    fclose(str);
getch();
 
}
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
13.05.2011, 13:33  [ТС]     Программа обработки итоговой таблицы #3
Помогите сделать правильно функцию нахождения команд одержавший большее количество побед
C
1
2
3
4
5
6
7
8
9
void max (int ln,int max1)
{ max1=team[0].victory;
   for(int i = 0; i < ln-1; i++)
   {
       if(team[i].victory>max1)
           max1=team[i].victory;
   }
   cout<<"Максимальное кличество побед"<<max1<<endl;
}
C
1
max(number);
Вот код откуда берутся данные


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
#include "stdafx.h"
#include "iostream"
#include <conio.h>
#include <string>
#include <iomanip>
#include <fstream>
using namespace std;
struct t
{
    string name;
    int victory;
    int draw;
    int lose;
    int goals;
    int missed;
    int points;
}*team,srt,max1;
 
 
void out(int ln)
{
    system("CLS");
    for(int i = 0; i < ln; i++)
    {
 
        cout<<setw(3)<< i+1<<" - "<<setw(6)<< team[i].name<<"  "<<setw(3)<<team[i].points<<endl;
    }
}
 
    
 
 
void sort(int ln)
{
    bool chk = false;
    int count;
    while(!chk)
    {
        count = 0;
        for(int i = 0; i < ln-1; i++)
        {
            if(team[i].points < team[i+1].points)
            {
                srt.name = team[i].name;
                srt.victory = team[i].victory;
                srt.draw = team[i].draw;
                srt.lose = team[i].lose;
                srt.goals = team[i].goals;
                srt.missed = team[i].missed;
                srt.points = team[i].points;
 
                team[i].name = team[i+1].name;
                team[i].victory = team[i+1].victory;
                team[i].draw = team[i+1].draw;
                team[i].lose = team[i+1].lose;
                team[i].goals = team[i+1].goals;
                team[i].missed = team[i+1].missed;
                team[i].points = team[i+1].points;
 
                team[i+1].name = srt.name;
                team[i+1].victory = srt.victory;
                team[i+1].draw = srt.draw;
                team[i+1].lose = srt.lose;
                team[i+1].goals = srt.goals;
                team[i+1].missed = srt.missed;
                team[i+1].points = srt.points;
 
                count++;
            }
            
        }
        if(count == 0)
                chk = true;
    }
}
 
void fileout(int ln)
{
    ofstream output("out.txt",ios::out);
    for(int i = 0; i < ln; i++)
    {
        output<<setw(3)<< i+1<<" - "<<setw(6)<< team[i].name<<"  "<<setw(3)<<team[i].points<<endl;
    }
    output.close();
}
 
void max (int ln,int max1)
{ max1=team[0].victory;
   for(int i = 0; i < ln-1; i++)
   {
       if(team[i].victory>max1)
           max1=team[i].victory;
   }
   cout<<"Максимальное кличество побед"<<max1<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"");
    int number;
    cout<<"Введите количество команд: ";
    cin>>number;
    team = new t [number];
    for(int i = 0; i < number; i++)
    {
tchk:   system("CLS");
        cout<<"Ввод данных для "<<i+1<<" команды:"<<endl;
        cout<<"Суммарное количество игр равно: "<<number-1<<endl;
        cout<<"Введите название команды: ";
        cin>>team[i].name;
        cout<<endl;
        cout<<"Введите количество побед: ";
        cin>>team[i].victory;
        cout<<endl;
        cout<<"Введите количество ничей: ";
        cin>>team[i].draw;
        cout<<endl;
        cout<<"Введите количество поражений: ";
        cin>>team[i].lose;
        cout<<endl;
        cout<<"Введите количество забитых голов: ";
        cin>>team[i].goals;
        cout<<endl;
        cout<<"Введите пропущенных голов: ";
        cin>>team[i].missed;
        cout<<endl;
        if((team[i].victory + team[i].draw + team[i].lose) != (number-1)) 
        {
            cout<<"Количество игр, введено неверно!"<<endl;
            system("pause");
            goto tchk;
        }
        team[i].points = team[i].victory*2 + team[i].draw;
    }
sort(number);
out(number);
fileout(number);
max(number);
 
cout<<endl;
system("pause");
    return 0;
 
}
Добавлено через 12 минут
Вроде получилось выводит однумаксимальную.....только как сделать так чтобы выводил не одну команду а несколько если у них одинаковое наибольшее количество побед?

C
1
2
3
4
5
6
7
8
9
10
void max (int ln,int max1,int a)
{ max1=team[0].victory;
   for(int i = 0; i < ln-1; i++)
   {
       if(team[i].victory>max1)
           max1=team[i].victory;
           a=i;
   }
   cout<<"Максимальное кличество побед  "<<team[a].victory<<max1<<endl;
}
Добавлено через 50 минут
Помогите пожалуйста с находением максимальных побед, максимальных забитых голов, и максимальных разностей между забитыми и пропущенными голами...

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
void max_victory (int ln,int max1,int a)
{ max1=team[0].victory;
   for(int i = 0; i < ln-1; i++)
   {
       if(team[i].victory>max1)
           max1=team[i].victory;
           a=i;
      
   }
 cout<<"Максимальное кличество побед  "<<team[a].name<<team[a].victory<<endl;
}
void max_goals(int ln,int max1,int a)
{ max1=team[0].goals;
   for(int i = 0; i < ln-1; i++)
   {
       if(team[i].goals>max1)
           max1=team[i].goals;
          a=i;
      
   }
 cout<<"Наибольшее количество забитых мячей "<<team[a].name<<team[a].goals<<endl;
      
}
void max_rajn(int ln,int max1,int a)
{ max1=team[0].goals-team[0].missed;
   for(int i = 0; i < ln-1; i++)
   {
       if(team[i].goals-team[i].missed>max1)
           max1=team[i].goals-team[i].missed;
          a=i;
       
   }
cout<<"Наибольшая разность между забитыми и пропущенными мячами "<<team[a].name<<team[a].goals-team[a].missed<<endl;
      
}
Добавлено через 18 часов 46 минут





Ну пожалуйста помогите доработать(((



[C]
#include "stdafx.h"
#include "iostream"
#include <conio.h>
#include <string>
#include <iomanip>
#include <fstream>
#include <windows.h>
using namespace std;
struct t
{
string name;
int victory;
int draw;
int lose;
int goals;
int missed;
int points;
}*team,srt;


void out(int ln)
{
system("CLS");
for(int i = 0; i < ln; i++)
{

cout<<setw(3)<< i+1<<" - "<<setw(6)<< team[i].name<<" "<<setw(3)<<team[i].points<<endl;
}
}




void sort(int ln)
{
bool chk = false;
int count;
while(!chk)
{
count = 0;
for(int i = 0; i < ln-1; i++)
{
if(team[i].points < team[i+1].points)
{
srt.name = team[i].name;
srt.victory = team[i].victory;
srt.draw = team[i].draw;
srt.lose = team[i].lose;
srt.goals = team[i].goals;
srt.missed = team[i].missed;
srt.points = team[i].points;

team[i].name = team[i+1].name;
team[i].victory = team[i+1].victory;
team[i].draw = team[i+1].draw;
team[i].lose = team[i+1].lose;
team[i].goals = team[i+1].goals;
team[i].missed = team[i+1].missed;
team[i].points = team[i+1].points;

team[i+1].name = srt.name;
team[i+1].victory = srt.victory;
team[i+1].draw = srt.draw;
team[i+1].lose = srt.lose;
team[i+1].goals = srt.goals;
team[i+1].missed = srt.missed;
team[i+1].points = srt.points;

count++;
}

}
if(count == 0)
chk = true;
}
}

void fileout(int ln,int maxvictory,int maxgoals,int maxrajn)
{
ofstream output("out.txt",ios::out);
for(int i = 0; i < ln; i++)
{
SetConsoleCP(1251);
output<<setw(3)<< i+1<<" - "<<setw(6)<< team[i].name<<" "<<setw(3)<<team[i].points<<maxvictory<<maxgoals<<maxrajn<<endl;
SetConsoleCP(cp);
}
output.close();
}

int max_victory (int ln,int max1,int a)
{ max1=team[0].victory;
for(int i = 0; i < ln; i++)
{
if(team[i].victory>max1)
{ max1=team[i].victory;
a=i;
}

}
for(int i = 0; i < ln; i++)
{
if(max1 == team[i].victory)
{
cout<<"Максимальное кличество побед у команды "<<team[i].name<<" "<<team[i].victory<<endl;
}
}
return max1;
}
int max_goals(int ln,int max2,int b)
{ max2=team[0].goals;
for(int i = 0; i < ln; i++)
{
if(team[i].goals>max2)
{ max2=team[i].goals;
b=i;
}
}
for(int i = 0; i < ln; i++)
{
if(max2 == team[i].goals)
{
cout<<"Наибольшее количество забитых мячей "<<team[i].name<<" "<<team[i].goals<<endl;
}
}
return max2;
}
int max_rajn(int ln,int max3,int c)
{ max3=team[0].goals-team[0].missed;
for(int i = 0; i < ln; i++)
{
if(team[i].goals-team[i].missed>max3)
{ max3=team[i].goals-team[i].missed;
c=i;
}
}
for(int i = 0; i < ln; i++)
{
if(max3 ==team[i].goals-team[i].missed)
{
cout<<"Наибольшая разность между забитыми и пропущенными мячами "<<team[c].name<<" "<<team[c].goals-team
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
.missed<<endl; 
   }
   }
return max3;
}
    
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"");
    int cp = GetConsoleCP();
    int number;
    cout<<"Введите количество команд: ";
    cin>>number;
    team = new t [number];
    int max1=0;int max2=0;int max3=0;
    int a=0,b=0,c=0;int maxvictor,maxgoals,maxrajn;
    for(int i = 0; i < number; i++)
    {
tchk:   system("CLS");
        cout<<"Ввод данных для "<<i+1<<" команды:"<<endl;
        cout<<"Суммарное количество игр равно: "<<number-1<<endl;
        cout<<"Введите название команды: ";
        SetConsoleCP(1251);
        cin>>team[i].name;
        SetConsoleCP(cp);
        cout<<endl;
        cout<<"Введите количество побед: ";
        SetConsoleCP(1251);
        cin>>team[i].victory;
        SetConsoleCP(cp);
        cout<<endl;
        cout<<"Введите количество ничей: ";
        SetConsoleCP(1251);
        cin>>team[i].draw;
        SetConsoleCP(cp);
        cout<<endl;
        cout<<"Введите количество поражений: ";
        SetConsoleCP(1251);
        cin>>team[i].lose;
        SetConsoleCP(cp);
        cout<<endl;
        cout<<"Введите количество забитых голов: ";
        SetConsoleCP(1251);
        cin>>team[i].goals;
        SetConsoleCP(cp);
        cout<<endl;
        cout<<"Введите пропущенных голов: ";
        SetConsoleCP(1251);
        cin>>team[i].missed;
        SetConsoleCP(cp);
        cout<<endl;
        if((team[i].victory + team[i].draw + team[i].lose) != (number-1)) 
        {
            cout<<"Количество игр, введено неверно!"<<endl;
            system("pause");
            goto tchk;
        }
        team[i].points = team[i].victory*2 + team[i].draw;
    }
sort(number);
out(number);
fileout(number,maxvictory,maxgoals,maxrajn);
int maxvictory=max_victory(number,max1,a);
int maxgoals=max_goals(number,max2,b);
int maxrajn=max_rajn(number,max3,c);
cout<<endl;
system("pause");
    return 0;
 
}
Yandex
Объявления
13.05.2011, 13:33     Программа обработки итоговой таблицы
Ответ Создать тему
Опции темы

Текущее время: 14:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru