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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Karata
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 40
#1

Класс игральная карта - C++

29.05.2013, 08:30. Просмотров 1750. Ответов 40
Метки нет (Все метки)

Помогите описать класс карта нужно описать ее масть и номер с двумя конструкторами, один обязательно с параметрами, помогите нужно сделать к завтрашней паре, а да еще конструктор должен обязательно задействован, и пожалуйста с переменными флоат если это возможно, но не со строками..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 08:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс игральная карта (C++):

Создать класс карта по условию - C++
Доброго времени суток ув. форумчане. Попалась следующая задача, код к реализации программы есть, но не могу понять в чём там ошибки....

Описать класс "карта" - C++
Помогите нужно к паре сделать прогу, а я с класами вообще не как задание "описать класс карта(масть и достоинство)содержащий функцию...

Иерархия: класс "карта", "колода карт" - C++
(Иерархия). Создать класс карта, имеющая ранг и масть. Карту можно перевернуть и открыть. Создать класс – колода карт, содержащий карты....

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени? - C++
На самом деле ничё фантастического я не прошу, ведь: template <class T> class matrix { friend class diagonal; ...

Класс таблиц баз данных и класс записей в таблице(реляционная таблица). Предусмотреть класс связей между таблицами - C++
Здравствуйте! Никак не могу продумать структуру этой программы. Проходим наследование, но я все равно не знаю, как его здесь применить. Как...

Отдельно класс данных, класс формул и главный класс - C++
Здравствуйте! У меня есть три вопроса. Первый вопрос. Скажите пожалуйста! Правильный ли это подход к созданию приложений :...

40
ITcrusader
30.05.2013, 14:40     Класс игральная карта
  #31

Не по теме:

Мне всегда нравилось название этой специальности
Значения обоих слов - предельно ясны, а то, что они образуют вместе - загадка)))

0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
30.05.2013, 14:43 #32
Цитата Сообщение от Karata Посмотреть сообщение
специальность бизнес-информатика, и наврятли с++ мне пригодится..
Тут дело не в C++. А в концепции разработки архитектуры системы в принципе.

Не по теме:

ITcrusader, ну как загадка... на википедии вон даже статья есть.

1
ITcrusader
30.05.2013, 14:47
  #33

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
на википедии вон даже статья есть
Серьезная статья

0
Karata
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 40
30.05.2013, 15:29  [ТС] #34
Блин и что-же теперь делать, сам такую прогу не напишу....
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
30.05.2013, 16:12 #35
Karata,
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
#include <iostream>
#include <stdexcept>
 
class Card {
 public:
  Card() : suit(0), rank(0) {}
  Card(int suit, int rank) : suit(suit), rank(rank) {}
  int getSuit() const { return suit; }
  int getRank() const { return rank; }
  void setSuit(int suit) { this->suit = suit; }
  void setRank(int rank) { this->rank = rank; }
 private:
  int suit;
  int rank;
};
 
const char *getCardRankName(int rank) {
  static const char RANK_NAMES[][10] = {"2", "3", "4", "5", "6", "7",
    "8", "9", "10", "jack", "queen", "king", "ace"};
  return RANK_NAMES[rank];
}
 
const char *getCardSuitName(int suit) {
  static const char SUIT_NAMES[][10] = {"spades", "hearts", "diamonds",
    "clubs"};
  return SUIT_NAMES[suit];
}
 
class GameCard : public Card
{
public:
   explicit GameCard(int suit, int rank) : Card(suit, rank), trumpSuit(0)
   {
   }
   void setTrumpSuit(int suit)
   {
      trumpSuit = suit;
   }
   bool isStronger(const GameCard& other)
   {
      if (!trumpSuit)
      {
         throw std::invalid_argument("Invalid trump suit");
      }
      return (this->getSuit() == other.getSuit() && this->getRank() > other.getRank()) ||
         (this->getSuit() == trumpSuit && other.getSuit() != trumpSuit) ||
         ((this->getSuit() == trumpSuit && other.getSuit() == trumpSuit) &&
          this->getRank() > other.getRank());
   }
private:
   int trumpSuit;
};
 
int main(int, char **) {
  // козырь бубны
  int trumpSuit = 2; // diamonds
 
  GameCard first(2, 5);
  first.setTrumpSuit(trumpSuit);
  GameCard second(2, 4);
  std::cout << first.isStronger(second) << std::endl;
 
  return 0;
}
И про харакири преподавателю не забудьте поведать.
2
Karata
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 40
30.05.2013, 16:52  [ТС] #36
Цитата Сообщение от ForEveR Посмотреть сообщение
И про харакири преподавателю не забудьте поведать.
Так, а можно сделать чтобы словами писала что эта карта кроет.
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
30.05.2013, 16:55 #37
Karata, Он и должен писать один. Первая карта "сильнее" второй.
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
30.05.2013, 17:36 #38
Цитата Сообщение от Karata Посмотреть сообщение
Так, а можно сделать чтобы словами писала что эта карта кроет.
C++
1
std::cout << (first.isStronger(second) ? "stronger" : "weaker") << std::endl;
1
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
30.05.2013, 18:56 #39
Продолжая дискуссию насчет конструктора с параметрами по-умолчанию.

Уж лучше целиком и полностью управлять процессом, нежели поручить что-либо машине.
Конечно, не надо вдаваться в крайности, например конструктор с точками, что приводил ITcrusader, вполне имеет место на жизнь. Все относительно, но вот подумать несколько раз, прежде чем использовать подобные махинации (параметр = начальное значение) все же стоит.

Добавлено через 1 минуту
Видимо препод когда-то читал Дейкстров, а потом решил в задание добавить "что-то свое"
0
Karata
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 40
30.05.2013, 19:10  [ТС] #40
C++
1
2
3
std::cout << getCardRankName(first.getRank()) << " " << getCardSuitName(first.getSuit()) << " " << 
 (first.isStronger(second) ? "Кроет" : "Не кроет") << " " 
 << getCardRankName(second.getRank()) << " " << getCardSuitName(second.getSuit()) << std::endl;
сделал такой вывод, но еще хочу сделать чтоб в программе выводился козырь, но не получается
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
30.05.2013, 19:13 #41
Karata, Добавить вывод getCardSuitName(trumpSuit);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2013, 19:13
Привет! Вот еще темы с ответами:

Реализовать класс родительский класс "Пара чисел" и класс-наследник "Комплексное число" - C++
Ткма работы создать класс pair (пара чисел); определить метод перемножения полей и операцию сложения пар (a,b)+(c,d) =(a+b,c+d)...

Класс, производный класс, паблик-класс - C++
Задание: Создать класс колесо, которое имеет радиус. Определить конструкторы и метод доступа. Создать класс машин, содержащий класс колесо....

Создать класс “Автомагазин”, состоящей из класса ”Марки машин”. Класс “Автомагазин ”:название магазина, адрес, телефон. Класс “ Марки машин ”: марка - C++
Создать класс “Автомагазин”, состоящей из класса ”Марки машин”. Класс “Автомагазин ”:название магазина, адрес, телефон. Класс “ Марки...

Абстрактный класс CGraphicsObject, его наследник - базовый класс CPoint, и класс - наследник от CPoint - C++
Всем доброй ночи! Очень нужна помощь и по мере возможности разъяснения на темы: абстрактный класс в задании(что он из себя представляет и...


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

Или воспользуйтесь поиском по форуму:
41
Yandex
Объявления
30.05.2013, 19:13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru