Unfortunately, knowing the name of card doesn't allow you to compare one card to another another very readily. To compare cards it is probably easier to be able to compare the value of the card and the suit of the card separately, not just the name of the card. Therefore, using a struct/class to reprsesent a card with the value, suit, and (possibly) color as members and a method for displaying the cards name when it's desired is helpful. Maybe something like this:
I might use A, 2, 3, ... J, Q, K instead of Ace, two, three, etc. and H, C, D instead of hearts, clubs, diamonds, etc, but that's besides the point.
enum Suit("spades", "hearts", "diamonds", "clubs");
friend ostream& operator <<(const ostream &, const Card &);
ostream & operator<<(const ostream & os, const Card & c)
os << "Ace";
os << "two";
//and so on
os << " of ";
os << "spades";
os << "hearts";
//and so on
You still need some mechanism to assign values to each Card in the array, see Salem's suggestion for hints on that. Once that's done though, displaying the name of a Card is now as simple as
cout << card;
and comparing Cards can be readily done because each member of a given Card can be assessed individually.
The problem is this approach uses stuff which may not be at your disposal after just two weeks of study.
The advantage is you can use the same tools to develop a representation of a hand (an array of Cards, a value, and maybe a name), a deck (an array of Cards and a shuffle method (or use the STL shuffle algorithm)), and a game (a container to hold as many hands as desired in a given game, a mechanism to deal each hand from a shuffled deck, and a mechanism to rank the hands to determine a winner) with which to complete your project.