c语言模拟洗牌和发牌的过程,洗牌和发牌模拟程序

这篇博客介绍了如何在C++中创建一个DeckofCards类,该类包含了初始化、洗牌和发牌的功能。DeckofCards类使用二维数组存储扑克牌,并通过 srand 和 time 函数实现随机洗牌。发牌函数则按顺序遍历并打印出牌。setw 函数用于调整输出格式。
摘要由CSDN通过智能技术生成

DeckofCards.h

class DeckofCards

{public:

DeckofCards();

void shuffle();

void deal();

private:

int deck[4][13];

}

DeckofCards.cpp

#include

using std::cout;

using std::left;

using std::right;

#include

using std::setw;

#include

using std::rand;

using std::srand;

#include

#include "DeckofCards.h"

DeckofCards::DeckofCards()

{for(int row=0;row<=3;row++)

{for(int column=0;column<=12;column++)

{deck[row][column]=0;

}

}

srand(time(0));

}

void DeckofCards::shuffle()

{int row,column;

for(int card=1;card<=52;card++)

{do//choose a new randomly location until unoccupied slot is found

{row=rand()%4;

column=rand()%13;

}while(deck[row][column]!=0);

deck[row][column]=card;

}

}

void DeckofCards::deal()

{static const char *suit[4]={"hearts","diamonds","clubs","spades"};

static const char *face[13]={"Ace","Deuce","three","four","five","six","seven","eight","nine","ten","Jack","Queen","King"};

for(int card=1;card<=52;card++)

{for(int row=0;row<=3;row++)

{if(deck[row][column]==card)

{cout<

}

}

}

}demo.cpp

#include"DeckofCards.h"

int main()

{DeckofCards deckofcards;

deckofcards.shuffle();

deckofcards.deal();

return 0;

}setw函数为设置输出字符的宽度,后边的righ为右对齐,如果是left就为左对齐,如果字符长度不够设定的宽度就用空格补齐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值