in my opinion, you should write functions that evaluate everything from royal flush to high card:
//function prototypes
bool is_royal_fush(hand[7]);
bool is_straight_flush(hand[7]);
bool is_4kind(hand[7]);
bool is_full_house(hand[7]);
bool is_flush(hand[7]);
bool is_straight(hand[7]);
bool is_3kind(hand[7]);
bool is_2pair(hand[7]);
bool is_pair(hand[7);
int get_high_card(hand[7]);
Some hands might qualify for several winning scenarios, so it is important to test from royal flush down to high card and break at the first true test in order to get the highest value of the hand.