J'essaie de créer un programme qui tire une carte d'un jeu de 52 cartes à jouer ordinaires.
-
Costumes : Coeur, Pique, Carreau, Trèfle.
-
Rang : A,2,3,4,5,6,7,8,9,10,J,Q,K.
Ceci devrait être la sortie :
Let's pull a card!
This time we got AH
Wanna pull a card again?
y
This time we got 3J
Wanna pull a card again?
n
Mon résultat est :
Let's pull a card!
DKThis time we got 00
Wanna pull a card again?
n
Voici mon code :
#include <iostream>
#include <ctime>
using namespace std;
// Function Declaration
int rankCard(), suitCard();
int main()
{
srand(time(0));
char answer;
cout << "Let's pull a card!" << endl;
do {
cout << "This time we got " << rankCard() << suitCard() << endl;
cout << "Wanna pull a card again?" << endl;
cin >> answer;
} while ((answer == 'y') || (answer == 'Y'));
return 0;
}
int rankCard() {
int rank = (rand() % 13) + 1;
switch (rank) {
case 1: cout << "A";
break;
case 10: cout << "T";
break;
case 11: cout << "J";
break;
case 12: cout << "Q";
break;
case 13: cout << "K";
break;
default: cout << rank;
break;
}
return 0;
}
int suitCard() {
int suit = (rand() % 4) + 1;
switch (suit) {
case 1: cout << "H";
break;
case 2: cout << "D";
break;
case 3: cout << "C";
break;
case 4: cout << "S";
break;
}
return 0;
}
Je n'arrive pas à comprendre pourquoi les cartes tirées (DK) sont dans cette position et pourquoi je reçois aussi le 00. Qu'est-ce que je fais de mal ? Merci