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:
Code:
 
enum Suit("spades", "hearts", "diamonds", "clubs");
 
struct Card
{
int value;
Suit suit;
char color;//optional
friend ostream& operator <<(const ostream &, const Card &);
};
 
ostream & operator<<(const ostream & os, const Card & c)
{
switch(value)
{
	 case 0: 
		os << "Ace";
		break;
	 case 1:
		os << "two";
	 //and so on
}
os << " of ";
switch(suit)
{
	 case 0:
		os << "spades";
		break;
	 case 1:
		os << "hearts";
		break;
	 //and so on
}
return os;
}
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.

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.