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

Класс "Таблица бомбардиров" - C++

Восстановить пароль Регистрация
 
FunnyCOFE
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 2
04.06.2014, 09:01     Класс "Таблица бомбардиров" #1
Вообщем задача у меня такая, создать класс в С++, в данном случае, с помощью класса хочу реализовать таблицу бомбардиров...
задаю фамилию игрока и минуту на которой он забил... программа компилится, но после ввода данных в массив выдает Break - Continue
еще хотелось бы спросить, можно ли как то сделать, чтобы количество голов к примеру было не определенное, как у меня 10, а сколько ввел столько и есть...
Еще бы в идеале, как потом производить поиск по фамилии.

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
#include <stdio.h>
#include <string.h>
 
int minute[9];
char* name[9];
 
class Striker
{
public:
    char Name[40];
    int Minute;
 
public:
    void SetName(char *StrikerName)
    {
        strcpy_s(Name, StrikerName);
    }
    void SetMinute (int StrikerMinute)
    {
        Minute = StrikerMinute;
    }
    void IntroduceSelf()
    {
        printf("Name: %s", Name);
        printf(" - %i '", Minute);
        printf("\n");
    }
 
};
int main()
{
    for(int z=0; z<10; z++)
    {
        int i=0;
        printf("Enter Name \n");
        scanf_s("%s", &name[i]);
        printf("Enter Minute ");
        scanf("%i", &name[i]);
        i++;
    }
    Striker Striker1;
    Striker1.SetName(name[0]);
    Striker1.SetMinute(minute[0]);
 
    Striker Striker2;
    Striker2.SetName(name[1]);
    Striker2.SetMinute(minute[1]);
 
    Striker Striker3;
    Striker3.SetName(name[2]);
    Striker3.SetMinute(minute[2]);
 
    Striker Striker4;
    Striker4.SetName(name[3]);
    Striker4.SetMinute(minute[3]);
    
    Striker Striker5;
    Striker5.SetName(name[4]);
    Striker5.SetMinute(minute[4]);
 
    Striker Striker6;
    Striker6.SetName(name[5]);
    Striker6.SetMinute(minute[5]);
 
    Striker Striker7;
    Striker7.SetName(name[6]);
    Striker7.SetMinute(minute[6]);
 
    Striker Striker8;
    Striker8.SetName(name[7]);
    Striker8.SetMinute(minute[7]);
 
    Striker Striker9;
    Striker9.SetName(name[8]);
    Striker9.SetMinute(minute[8]);
 
    Striker Striker10;
    Striker10.SetName(name[9]);
    Striker10.SetMinute(minute[9]);
 
    Striker1.IntroduceSelf();
    Striker2.IntroduceSelf();
    Striker3.IntroduceSelf();
    Striker4.IntroduceSelf();
    Striker5.IntroduceSelf();
    Striker6.IntroduceSelf();
    Striker7.IntroduceSelf();
    Striker8.IntroduceSelf();
    Striker9.IntroduceSelf();
    Striker10.IntroduceSelf();
    
    getchar();
}
Добавлено через 8 часов 14 минут
Проблема с самим классом решена, теперь возникла проблема с поиском, который я решил сделать через strcmp... но опять же брейк выдает когда доходишь до стадии поиска
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
#include <stdio.h>
#include <string.h>
int *minute;
char **name;
char **sminute;
 
class Striker
{
public:
    char Name[40];
    int Minute;
 
public:
    void SetName(char *StrikerName)
    {
        strcpy_s(Name, StrikerName);
    }
    void SetMinute(int StrikerMinute)
    {
        Minute = StrikerMinute;
    }
    void IntroduceSelf()
    {
        printf("Name: %s", Name);
        printf(" - %i'", Minute);
        printf("\n");
    }
 
};
void main()
{
    int n;
    printf("Enter count: ");
    scanf("%d", &n);
 
    // Выделение памяти
    name = new char*[n];
    minute = new int[n];
    sminute = new char*[n];
    for (int z = 0; z < n; z++)
    {
        name[z] = new char[40];
        printf("Enter Name ");
        scanf("%s", name[z]);
        printf("\nEnter Minute ");
        scanf("%i", &minute[z]);
        printf("\nRepeat Minute ");
        scanf("%s", &sminute[z]);
    }
 
    Striker *strikers = new Striker[n];
    for (int i = 0; i < n; ++i)
    {
        strikers[i].SetName(name[i]);
        strikers[i].SetMinute(minute[i]);
        strikers[i].IntroduceSelf();
    }
    int o;
    printf("1 - Search by name \n2 - Search by minute\n");
    scanf("%i", o);
    if(o==1)
    {
    char search[40];
    printf("Enter name");
    scanf("%s", search);
     for(int i=0;i<n;i++)
    {
        if(strcmp(search,name[i])==0)
     {
      printf("%s - %i'",name[i], minute[i]);
     }
    }
    }
    if(o==2)
    {
    char search[40];
    printf("Enter minute");
    scanf("%s", search);
     for(int i=0;i<n;i++)
    {
        if(strcmp(search,sminute[i])==0)
        {
            printf("%s - %i'",name[i], minute[i]);
        }
    }
    }
    // Очистка памяти
    for(int i = 0; i < n; ++i)
    {
        delete[] name[i];
        delete[] sminute[i];
    }
    delete[] name;
    delete[] minute;
    delete[] sminute;
    delete[] strikers;
    getchar();
    getchar();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2014, 09:01     Класс "Таблица бомбардиров"
Посмотрите здесь:

C++ Создать класс "точка" и производный класс "отрезок"
C++ Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол"
C++ Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/".
C++ В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
C++ Класс "Графический объект", от которого будут наследоваться классы "круг" и "квадрат"
C++ Иерархия классов "список"-"очередь", вызов метода через класс интерфейс
C++ Создать класс "прямоугольник" и перегрузить операцию отношения "равно"
C++ Описать класс "Контейнер" как объект, предназначенный для транспортировки классов "Строительных блоков"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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