Pokercards sorted c language | Computer Science homework help

(30 points)
Program details
When playing poker and other card games (standard 52 cards, excluding the jokers), it is usual to arrange a hand to reflect its values. Write a program in C that arranges and prints out a random hand of ten cards in sorted order by pips values. Assume that an ace is highest in value, a king is next highest, which is followed by a queen, a jack, and so forth. For cards of the same pips values, use their suits to sort them in the order of Clubs, Diamonds, Hearts, and Spades. Notice that no card shows more than once in a hand.
In order for the hands of cards dealt by the program to be truly random, have the following line at the beginning of your program: (You need #include <time.h> though.)
The following screen shot contains two sample outputs of the program.

You may use ch7/test_drive.c as your reference to use a “comparator” function and qsort() to sort your cards.
Although it is totally up to you how you design your program, it needs to satisfy the following rules:
–          It consists of at least 3 source files (.c files) and at least 3 header files (.h files).
–          It uses structures (and optionally unions and enums) to model poker cards.
–          It is organized in the following way:
o   bin_files/ : a subfolder that holds executable file(s)
o   obj_files/ : a subfolder that holds object file(s)
o   inc_files/ : a subfolder that holds header file(s)
o   src_files/ : a subfolder that holds source file(s)
–          It comes with a workable makefile.