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

Описать класс "карта" - C++

Восстановить пароль Регистрация
 
tabsiger
0 / 0 / 0
Регистрация: 05.03.2013
Сообщений: 19
05.03.2013, 19:00     Описать класс "карта" #1
Помогите нужно к паре сделать прогу, а я с класами вообще не как
задание "описать класс карта(масть и достоинство)содержащий функцию вывода на экран"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2013, 19:00     Описать класс "карта"
Посмотрите здесь:

C++ Описать класс Дата
C++ Описать класс «Многоугольник»
Описать класс "полином" C++
Описать класс Матрица C++
C++ Класс игральная карта
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
05.03.2013, 19:17     Описать класс "карта" #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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <ctime>
#include <cstdlib>
#include <string>
#include <iostream>
 
 
class Card {
 public:
  static const std::string SUITS[];
  static const std::string RANKS[];
  Card(int cardId) : cardId(cardId) {}
  Card(int rankId, int suitId) : cardId((rankId << 3) + suitId) {}
  const std::string &getRank() const {
    return RANKS[cardId >> 3];
  }
  const std::string &getSuit() const {
    return SUITS[cardId & 7];
  }
 private:
  int cardId;
};
 
std::ostream &operator<<(std::ostream &stream, const Card &card) {
  return stream << card.getRank() << " of " << card.getSuit();
};
 
const std::string Card::SUITS[] = {"spades", "hearts", "diamonds", "clubs"};
const std::string Card::RANKS[] = {"zero", "one", "two", "three", "four", "five",
  "six", "seven", "eight", "nine", "ten", "jack", "queen", "king",
  "ace"};
 
int main(int argc, char **argv) { 
  srand(time(0));
 
  for (int i = 0; i < 4; ++i) {
    for (int j = 2; j < 15; ++j) {
      std::cout << Card(j, i) << std::endl;
    }
  }
  
  std::cin.get();
  return 0;
};
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
05.03.2013, 19:17     Описать класс "карта" #3
Пока писал уже ответили
StormSpirit
 Аватар для StormSpirit
6 / 6 / 2
Регистрация: 13.02.2013
Сообщений: 32
05.03.2013, 19:32     Описать класс "карта" #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ну вот, вроде:
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
#include <iostream>
 
using namespace std;
class card
{
    private:
        string value;
        string suit;
    public:
    card(string value = "Ace", string suit = "spades")
    {
        this->value = value;
        this->suit = suit;
    }
    ~card(){};
    
    void display()
    {
        cout << "This is the " << this->value << " of " << this->suit << endl;
    }
    
    
};
 
int main()
{
    card one("nine", "diamonds");
    one.display();
 
    cout << "Success!" << endl;
    return 0;
}
что непонятно, спрашивайте.
P.S. почитайте литературу, Б. Страуструпа например.

Да, забавно, что отвечает много народу. Ну, будет из чего выбрать =)
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
05.03.2013, 22:41     Описать класс "карта" #5
Цитата Сообщение от egor2116 Посмотреть сообщение
Пока писал уже ответили
Не стесняйтесь выкладывать свою версию, даже если уже ответили на вопрос. Она может оказаться лучше всех предлагаемых.
tabsiger
0 / 0 / 0
Регистрация: 05.03.2013
Сообщений: 19
06.03.2013, 06:16  [ТС]     Описать класс "карта" #6
lemegeton

вашь код очень сложный для меня, не могу разобраться, мы такого еще не делали

Добавлено через 1 минуту
а у вас StormSpirit выводит только одну карту..
StormSpirit
 Аватар для StormSpirit
6 / 6 / 2
Регистрация: 13.02.2013
Сообщений: 32
06.03.2013, 10:17     Описать класс "карта" #7
Цитата Сообщение от tabsiger Посмотреть сообщение
а у вас StormSpirit выводит только одну карту..
Зато у меня все просто какими значениями проинициализируешь, то и выведет) Хоть End of Space =)
надо чтоб колоду всю показал? просто заведите два массива и переберите их)
tabsiger
0 / 0 / 0
Регистрация: 05.03.2013
Сообщений: 19
06.03.2013, 13:51  [ТС]     Описать класс "карта" #8
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
#include <iostream>
 
using namespace std;
class card
{
    private: unsigned n,m;
    public: void SetCard (unsigned mast, unsigned nomer)
    
    {
    m=mast; n=nomer;
    }
    void display()
    {
        cout << "Eta karta " << m << " " << n << endl;
        }
    };
        
int main()
{
    card m;
    card a[20];
    m.SetCard(2,3);
    m.display();
    cout << "konec!" << endl;
    return 0;
 
}
Это мой код.
и снова проблема... когда я здесь
C++
1
m.SetCard(2,3);
ввожу не цифры а буквы вот так
C++
1
m.SetCard(tyz,piki);
появляются ошибки

In function 'int main()':
[Error] 'tyz' was not declared in this scope
[Error] 'piki' was not declared in this scope
StormSpirit
 Аватар для StormSpirit
6 / 6 / 2
Регистрация: 13.02.2013
Сообщений: 32
06.03.2013, 21:46     Описать класс "карта" #9
Дело в том, что компилятор считает, что эти буквы - это имена переменных. Можно сделать следующее:
1) Объявить эти переменные и присвоить им числовые значения, но, видимо, этот вариант не подойдет.
2) передавать в метод не tyz, а строку "tyz" и строку "piki", но тогда придется немного поменять класс

P.S. Сделайте все-таки конструктор и деструктор класса, я думаю, это будет хороший тон =)
tabsiger
0 / 0 / 0
Регистрация: 05.03.2013
Сообщений: 19
11.03.2013, 12:58  [ТС]     Описать класс "карта" #10
можете помочь в написании конструктора и деструктор класса, не могу это сделать!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2013, 10:05     Описать класс "карта"
Еще ссылки по теме:

C++ Описать класс «трапеция»
Создать класс карта по условию C++
Описать класс “множество” C++

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

Или воспользуйтесь поиском по форуму:
StormSpirit
 Аватар для StormSpirit
6 / 6 / 2
Регистрация: 13.02.2013
Сообщений: 32
12.03.2013, 10:05     Описать класс "карта" #11
Цитата Сообщение от tabsiger Посмотреть сообщение
можете помочь в написании конструктора и деструктор класса, не могу это сделать!
конструктор - это специальны метод класса, запускаемый при создании объекта такого класса. например он может инициализировать некоторые члены класса, если это необходимо.
деструкор - специальный метод класса, вызываемый при уничтожении объекта класса(что-то вроде того). например там можно освободить выделенную ранее память.

Можно оставить эти методы пустыми, это не запрещается. В простейшем случае класса Card
Конструктор:
Card() {}

Деструктор:
~Card() {}
Yandex
Объявления
12.03.2013, 10:05     Описать класс "карта"
Ответ Создать тему
Опции темы

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