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

Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ... - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
V_Ghost
 Аватар для V_Ghost
9 / 9 / 0
Регистрация: 03.03.2011
Сообщений: 116
30.03.2011, 21:48     Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ... #1
Помогите написать програмку, где:
Нужно создать Класс Coins (монеты). Класс сохраняет массив из 3 монет и общее количество лицевых сторон после последнего кидания. Должны быть предусмотрены методы, реализующие инициализацию и кидание монет.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2011, 21:48     Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ...
Посмотрите здесь:

Создать класс Pair(пара чисел) и класс-наследник Fraction C++
C++ Создать базовый класс - Array и производный класс - Money для работы денежной суммы
C++ Класс домов и класс улиц для учета поступлений квартплаты. Массив
C++ Создать класс - данные - абстрактный базовый класс. Создать производные классы
Создать класс линия и производный класс отрезок C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
31.03.2011, 09:12     Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ... #2
Что подразумевается под массивом из 3 монет? Какую информацию о монетах там хранить?
V_Ghost
 Аватар для V_Ghost
9 / 9 / 0
Регистрация: 03.03.2011
Сообщений: 116
31.03.2011, 15:25  [ТС]     Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ... #3
bigredcat,
Информацию хранить что випало: орёл или рёшка... наверное в текстовом файле..
нуу.. насколько я понимаю, из 3-х монет подразумевается, что 3 монеты подкидиваются сразу...
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
01.04.2011, 11:08     Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ... #4
Значит сохраняем значения последнего броска для каждой монеты и общее количество случаев за все время, когда выпал орел. Если я правильно понял, тогда получается примерно такой класс (без реализации):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class Coins
{
public:
    ~Coins() {};
    Coins();
    void SpinCoins();
 
private:
    // Значения последнего подбрасывания.
    int _coin[3];
    // Общий счетчик выпадания орлов.
    int _headsCount;
};
Но вот вопрос возникает, на кой упал этот счетчик орлов, если нет информации о количестве подбрасываний. Он не несет нам никакой полезной информации. Допустим выпало 5 орлов, но за сколько подбрасываний: два, двадцать или миллион.
V_Ghost
 Аватар для V_Ghost
9 / 9 / 0
Регистрация: 03.03.2011
Сообщений: 116
01.04.2011, 13:37  [ТС]     Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ... #5
Ёсли не трудно, напиши еще самую програмку)
и хедерный файл(или как то так)
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
02.04.2011, 05:56     Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ... #6
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
#include <iostream>
#include <time.h>
#include <locale.h>
 
class Coins
{
public:
    ~Coins() {};
    Coins();
    // Вывод результатов.
    void PrintResult();
    // Сброс результатов.
    void ResetResult();
    // Одновременное подкидывание трех монет.
    void SpinCoins();
 
private:
    // Признак инициализации генератора псевдослучайных чисел.
    static int _isInit;
 
    // Информация о последнем подкидывании монет:
    // (-1) - подкидываение не выполнялось; 0 - решка; 1 - орел.
    int _coin[3];
    // Общий счетчик орлов.
    int _headCount;
    // Счетчик подкидываний.
    int _spinCount;
};
 
int Coins::_isInit;
 
Coins::Coins()
{
    // Если требуется, то выполняем инициализацию
    // генератора псевдослучайных чисел
    if (!_isInit)
    {
        srand((unsigned)time(NULL));
        _isInit = 1;
    }
 
    // Исходное состояние.
    memset(_coin, -1, sizeof (int) * 3);
    _headCount = 0;
    _spinCount = 0;
}
 
void Coins::ResetResult()
{
    memset(_coin, -1, sizeof (int) * 3);
    _headCount = 0;
    _spinCount = 0;
}
 
void Coins::SpinCoins()
{
    _spinCount++;
 
    for (int i = 0; i < 3; i++)
    {
        _headCount += _coin[i] = rand() % 2;
    }
}
 
void Coins::PrintResult()
{
    // С проверкой того, что монеты подкидывались.
    if (_coin[0] == -1)
    {
        std::cout << "После инициализации или сброса результатов подкидывание монет не выполнялось\n";
    }
    else
    {
        for (int i = 0; i < 3; i++)
        {
            std::cout << "Монета " << i << ": " << (_coin[i] == 0 ? "решка" : "орел") << std::endl;
        }
        std::cout << "Всего подкидываний (по три монеты): " << _spinCount << std::endl;
        std::cout << "Всего орлов выпало: " << _headCount << std::endl;
    }
    std::cout << std::endl;
}
 
int main()
{
    setlocale (LC_ALL, ".1251");
 
    Coins coins;
    coins.PrintResult();
 
    for (int i = 0; i < 3; i++)
    {
        coins.SpinCoins();
        coins.PrintResult();
    }
 
    coins.ResetResult();
    coins.PrintResult();
 
    system("PAUSE");
    return 0;
}
Насчет генератора (псевдо)случайных чисел ничего лучше что-то не придумал
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2011, 09:33     Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ...
Еще ссылки по теме:

C++ Создать класс “Автомагазин”, состоящей из класса ”Марки машин”. Класс “Автомагазин ”:название магазина, адрес, телефон. Класс “ Марки машин ”: марка
C++ Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ...
C++ Создать класс Rectangle, который сохраняет Декартовы координаты четырех вершин прямоугольника

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

Или воспользуйтесь поиском по форуму:
V_Ghost
 Аватар для V_Ghost
9 / 9 / 0
Регистрация: 03.03.2011
Сообщений: 116
02.04.2011, 09:33  [ТС]     Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ... #7
Спасибо.. ток чуть - чуть надо переделать)
еще у меня есть файлик Coins.cpp... в него то что писать то?)
и надо так, чтобы спрашивало: подкидивать еще раз?
Наперед очень благодарен
Yandex
Объявления
02.04.2011, 09:33     Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ...
Ответ Создать тему
Опции темы

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