Member 12864130 Ответов: 2

Как создать колоду карт в C


Итак, у меня есть созданный тип данных "карта" :

//Data Type "Card"

typedef enum suit 
{
	Club, Spade, Heart, Diamond
} Suit;

typedef enum rank 
{
	Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King, Ace 
} Rank ;

struct card
{
Suit c_suit;
Rank c_rank;
} Card;



Но теперь мне нужно создать колоду карт, которая может поддерживать любое количество карт(52,104, 156 и т. д.). Я не знаю, как это сделать, но мне это нужно, чтобы моя функция shuffle работала.

Что я уже пробовал:

struct deck
{
	Card * 52;
} Deck;


Но 100% не ригт

[no name]

http://www.codeproject.com/Questions/1157159/Need-help-with-a-C-project

Richard MacCutchan

Вы уже задавали этот вопрос и явно боретесь. Могу ли я предложить вам найти несколько более простой проект для изучения языка Си?

Member 12864130

Я бы только это проект из-за 2moro для колледжа, и все борются над ним

jeron1

"2моро"? неужели?

Richard MacCutchan

Тогда я предлагаю вам поговорить с вашим профессором обо всех аспектах этой проблемы, которые он вам не объяснил.

Member 12864130

Да, действительно!..
Он не может помочь нам с этим

Dave Kreskowiak

Он комментировал ваше использование "2moro". Это действительно заставляет вас выглядеть по-детски. Перед вами 101 ключ. Использовать их.

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

Причина, по которой вы и все остальные в классе обращаетесь к профессору с такими проблемами, заключается в том, что он поймет, что ему нужно помочь всем, и, возможно, немного уменьшит проблему. Размещение всех вопросов здесь на самом деле не поможет вам с вашим крайним сроком.

2 Ответов

Рейтинг:
0

OriginalGriff

Попробуй:

card Deck[52];
Затем вы получаете доступ к каждому из них card через индекс:
card topCard = Deck[0];
card bottomCard = Deck[51];
(то есть после того, как вы заполнили его подходящими экземплярами!)


Member 12864130

Где я должен поместить это в свой код? И что вы подразумеваете под подходящими примерами?

OriginalGriff

Где вы хотите его использовать? :смеяться:
Когда вы создаете массив карт, он не заполняет его "всеми разными" картами - вам нужно настроить его так, чтобы он имел 13 пик, 13 треф, 13 бубен и 13 червей, каждая из мастей которых имеет туза, двойку, тройку ...
Каждая отдельная карта является "экземпляром" и независима от всех остальных.
Если вы думаете о реальной колоде, в ней 52 экземпляра разных карт - компьютерная модель точно такая же.

Рейтинг:
0

Patrice T

2 ваших одноклассника уже задавали один и тот же вопрос с одним и тем же исходным кодом, вы должны объединиться.

Мы не делаем вашу домашнюю работу.
Домашнее задание предназначено не для того, чтобы проверить ваши навыки просить других людей выполнять вашу работу, а для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание пройденных вами курсов, а также проблем, возникающих при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по их исправлению.
Итак, попробуйте, перечитайте свои уроки и приступайте к работе. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это все равно что пытаться научиться водить машину, обучая кого-то другого.
Создание алгоритма-это в основном поиск математики и необходимая адаптация к вашей реальной задаче.


Member 12864130

Я не прошу вас сделать программу для меня, я спрашиваю о крошечной части, которую я не могу понять.