Write a program that allows a user to play 5-Card-Draw Poker against the computer.
You must start with the following example code supplied by Deitel & Deitel .This will
help you get started with the game of Poker. Please read this site to learn the rules of
Poker http://en.wikipedia.org/wiki/5_card_draw. Complete the following steps and
you will have a working Poker game!!!
Adapted from Deitel & Deitel’s C How to Program (6th Edition):
(1) In order to complete the game of 5-card-draw poker, you should complete the
following:
(a) (5 pts) Declare a struct called Card that contains two integers. One integer
represents the index of where to find the face value of the card in the array of
strings, and the other integer represents the index of where to find the suit of
the card in the other array of strings. Recall, these arrays are already supplied
in the example code.
(b) (5 pts) Declare a struct called Hand that contains an array of 5 struct Cards.
(c) (5 pts) Create a menu to that allows the user to view the game rules, play the
game, and exit the game.
(d) (10 pts) Modify the card dealing function provided in the example code so that
a poker hand is dealt. You should be able to use this function to deal and draw
any number of cards. However, it is fine if you decide to implement a separate
draw () function.
(e) (5 pts) Write a function to determine if the hand contains a pair.
(f) (5 pts) Write a function to determine if the hand contains two pairs.
(g) (5 pts) Write a function to determine if the hand contains three of a kind (i.e.
three jacks).
(h) (5 pts) Write a function to determine if the hand contains four of a kind (i.e.
four aces).
(i) (5 pts) Write a function to determine if the hand contains a full house (i.e
three of a kind and two of another).
(j) (5 pts) Write a function to determine if the hand contains a flush (i.e. all five
cards of the same suit).
(k) (5 pts) Write a function to determine if the hand contains a straight (i.e. five
cards of consecutive face values).

(2) (15 pts) Simulate the dealer. The dealer's five-card hand is dealt "face down" so
the player cannot see it. The program should then evaluate the dealer's hand, and
based on the quality of the hand, the dealer should draw one, two, or three more
cards to replace the corresponding number of unneeded cards in the original hand.
The program should then re-evaluate the dealer's hand.
(3) (15 pts) Make the program handle the dealer's five-card hand automatically. The
player should be allowed to decide which cards of the player's hand to replace. The
player can replace up to three cards. The program should then evaluate both hands
and determine who wins. The game should be played until the user wants to exit. in three format file main.c function.c header and in c code