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

Структуры (Записи) - C++

Восстановить пароль Регистрация
 
Novyichok_v_del
1 / 1 / 0
Регистрация: 15.06.2011
Сообщений: 29
10.12.2011, 10:52     Структуры (Записи) #1
Такое вот "дурацкое" условие,(правда понятное, пример с програмкой постараюсь написать и вывести, а пока прошу у вас помощи, кто-чем может, может имеется пост по такой теме и не раз он создавался?):
"Дан файл, содержащий результаты розыгрыша футбольного чемпионата.Определить команды, занявшие три первых и три последних места."
-Результаты вывести на экран и отдельно в текстовый файл
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2011, 10:52     Структуры (Записи)
Посмотрите здесь:

C++ Удаление записи из структуры
Структуры/записи/массивы C++
C++ Схема записи структуры в файл
Интегрированные структуры данных, записи C++
C++ Упорядочить записи структуры по фамилии
C++ Интегрированные структуры данных, записи
C++ Интегрированные структуры данных записи
C++ Редактирование структуры по номеру записи

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lawlietb32
 Аватар для Lawlietb32
14 / 14 / 2
Регистрация: 31.03.2011
Сообщений: 118
10.12.2011, 13:16     Структуры (Записи) #2
В каком формате хранится файл с результатами чемптоната? При чем тут структуры (можно все найти и вывести без них)? Задание такое?

На вскидку структура:
C++
1
2
3
4
5
6
7
8
9
struct Champ
{
       char *Name;
       int Points;
       int Wins;
       int Draw;
       int Losses;
       char *Goals;
};
Считываем все данные в структуру... Ищем победителей и выводим в файл и в консоль... Определись с файлом чемпионата и если возникнут трудности могу помочь с считкой данных в файл...

Добавлено через 1 час 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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#include <time.h>
#include <string.h>
 
struct Champ
{
    char Name[255];
    int Points;
    int Wins;
    int Draw;
    int Losses;
    char Goals[10];
    Champ *head;
    Champ *next;
    
    Champ()
    {
        memset(Name, 0, sizeof(Name));
        Points=-1;
        Wins=-1;
        Draw=-1;
        Losses=-1;
        memset(Goals, 0, sizeof(Goals));
        head=NULL;
        next=NULL;
    }
    
    ~Champ()
    {
        memset(Name, 0, sizeof(Name));
        Points=-1;
        Wins=-1;
        Draw=-1;
        Losses=-1;
        memset(Goals, 0, sizeof(Goals));
        head=NULL;
        next=NULL;
    }
    
    Champ *NewChamp()
    {
        Champ *p;
        p = (Champ*)malloc(sizeof(Champ));
        memset(p->Name, 0, sizeof(p->Name));
        memset(p->Goals, 0, sizeof(p->Goals));
        return p;
    }
    
    Champ *ReadTXT(char *filename)
    {
        FILE *f;
        int i, j, k;
        Champ *current=NULL;
        char buf[255];
        char data[255];
        if (filename!="")
        {
            f = fopen(filename, "r");
            if (!f)
                return NULL;
            
            while(!feof(f))
            {
                memset(buf, 0, sizeof(buf));
                memset(data, 0, sizeof(data));
                fgets(buf, 255, f);
                if (current==NULL)
                {
                    current = NewChamp();
                    this->head = current;
                    current->head = current;
                    current->next = NULL;
                }
                else
                {
                    current->next = NewChamp();
                    current = current->next;
                    current->next = NULL;
                }
                i=0;
                j=0;
                k=0;
                while(buf[i]!='\0')
                {
                    if (buf[i]==' ')
                    {
                        j=0;
                        switch(k)
                        {
                            case 0: memcpy(current->Name, data, strlen(data)); break;
                            case 1: current->Wins = atoi(data); break;
                            case 2: current->Draw = atoi(data); break;
                            case 3: current->Losses = atoi(data); break;
                            case 4: current->Points = atoi(data); break;
                            case 5: memcpy(current->Goals, data, strlen(data)); break;
                        }
                        k++;
                        memset(data, 0, sizeof(data));
                    }
                    else 
                    {
                        data[j] = buf[i];
                        j++;
                    }
                    i++;
                }
            }
            fclose(f);
            return this->head;
        }
        return NULL;
    }
    
    void PrintAll()
    {   
        Champ *h;
        h = this->head;
        while (h)
        {
            cout << "\n\n\nTeam = " << h->Name;
            cout << "\nWins = " << h->Wins;
            cout << "\nDraws = " << h->Draw;
            cout << "\nLosses = " << h->Losses;
            cout << "\nPoints = " << h->Points;
            cout << "\nGoals = " << h->Goals;
            h = h->next;
        }
    }
};
 
 
void main()
{
    clrscr();
    Champ *ch;
    ch = ch->ReadTXT("C:/test.txt");
    ch->PrintAll();
    getch();
}
Вот такой тестовый файл: (слево-направо: команда, победы, ничьи, поражения, очки, забитые-пропущенные голы... обязательно пробелы в конце каждой строки!)
C++
1
2
Team1 10 2 1 30 66-33 
Team2 12 3 4 20 30-50
Осталось тебе только найти победителей и вывести их...
Novyichok_v_del
1 / 1 / 0
Регистрация: 15.06.2011
Сообщений: 29
11.12.2011, 19:03  [ТС]     Структуры (Записи) #3
...так попробую найти победителей и вывести их в текстовый файл и на экран, но сначала разберусь в програмке...
Yandex
Объявления
11.12.2011, 19:03     Структуры (Записи)
Ответ Создать тему
Опции темы

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