代码
1 // shuffle.cpp : Defines the entry point for the console application.
2  //
3  #include "stdafx.h"
4 #include <iostream>
5  using std::cout;
6  using std::cin;
7  using std::endl;
8  using std::ios;
9
10 #include <iomanip>
11 using std::setiosflags;
12 using std::setw;
13
14 #include <cstdlib>
15 #include <ctime>
16
17 struct Card {
18 char *face;
19 char *suit;
20 };
21 void fillDeck(Card*const,char*[],char*[]);
22 void shuffle(Card*const);
23 void deal(Card*const);
24
25 int main()
26 {
27 Card deck[52];
28 char *face[]={"Ace","Deuce","Three","four",
29 "Five","Six","Seven","Eight",
30 "Nine","Ten","Jack","Queen",
31 "King"};
32 char *suit[]={"Hearts","Diamonds",
33 "Clubs","Spades"};
34 srand(time(0));
35 fillDeck(deck,face,suit);
36 shuffle(deck);
37 deal(deck);
38 return 0;
39 }
40 void fillDeck(Card*const wDeck,char *wFace[],
41 char*wSuit[])
42 {
43 for (int i=0;i<52;i++){
44 wDeck[i].face=wFace[i%13];
45 wDeck[i].suit=wSuit[i/13];
46 }
47 }
48
49 void shuffle (Card*const wDeck)
50 {
51 for( int i=0;i<52;i++){
52 int j=rand() % 52;
53 Card temp=wDeck[i];
54 wDeck[i]=wDeck[j];
55 wDeck[j]=temp;
56 }
57 }
58
59 void deal(Card *const wDeck)
60 {
61 for(int i=0;i<52;i++)
62 cout<<setiosflags(ios::right)
63 <<setw(5)<<wDeck[i].face<<"of"
64 <<setiosflags(ios::left)
65 <<setw(8)<<wDeck[i].suit
66 <<((i+1)%2?'\t':'\n');
67 }

 

 

 

Eightof   Clubs  fourof  Hearts
 Jackof  Spades  JackofDiamonds
  Aceof  Hearts Eightof  Hearts
DeuceofDiamonds   TenofDiamonds
Sevenof  Spades   AceofDiamonds
Sevenof  Hearts Queenof  Hearts
 Jackof  Hearts   Aceof   Clubs
 Fiveof   Clubs  Fiveof  Hearts
QueenofDiamonds Threeof  Hearts
 fourof   Clubs  Nineof   Clubs
 fourof  Spades   Tenof  Hearts
Threeof   Clubs   Sixof  Hearts
 Kingof   Clubs Sevenof   Clubs
 Kingof  Spades  FiveofDiamonds
SevenofDiamonds  Nineof  Hearts
  Tenof  Spades Deuceof  Spades
 Jackof   Clubs EightofDiamonds
  Tenof   Clubs  Nineof  Spades
  Aceof  Spades  NineofDiamonds
 KingofDiamonds Threeof  Spades
  Sixof  Spades Eightof  Spades
  Sixof   Clubs Queenof   Clubs
ThreeofDiamonds  Kingof  Hearts
 fourofDiamonds  Fiveof  Spades
  SixofDiamonds Queenof  Spades
Deuceof  Hearts Deuceof   Clubs

posted on 2010-05-08 11:03  c++我们一起学习  阅读(470)  评论(0编辑  收藏  举报