I have to write a program that reads in playing card values and translates them to the correct output. For example if a user enters:QS then the output would be a queen of spades. I am using a switch statement but how can I read the second character. Right now it just reads the first character and then prints out just that corresponding title.

Recommended Answers

All 3 Replies

You should provide your existing code so that we can give specific recommendations. Basically, read both characters as a string. Then, send the first character via [0] to your switch, then send the second character via [1] to a different switch.

I have included my code below I have done so far for this program. But based on your suggestion it sounds like I need to come up with another way of doing it because of redundancy. Maybe I should use if/else statements.

Thanks,

// This program will determine the deck of cards you have
// For example, if you type AD then the output will be Ace of Diamonds.

#include <iostream>

using namespace std;


int main()
{


        cout << "               MENU            " << endl;
        cout << "------------------------------------" << endl;
        cout << " A=Ace, J=Jack, Q=Queen " << endl;
        cout << " K=King, D=Diamonds, H=Hearts"<< endl;
        cout << " S=Spades,C=Clubs,2-10=card values" << endl;
        cout << "------------------------------------" << endl;


        while ( true)
        {
        cout << " Enter the card notation: (ex. QS,AD,4C): ";


        char choice;
        cin >> choice;
        if ( cin.eof() )
                break;



                switch (choice)
                {

                        case 'q':
                        case 'Q':
                                cout << " Queen " << endl ;
                                break;
                        case 'a':
                        case 'A':

<< moderator edit: added code tags: [code][/code] >>

I have included my code below I have done so far for this program. But based on your suggestion it sounds like I need to come up with another way of doing it because of redundancy. Maybe I should use if/else statements.

// This program will determine the deck of cards you have
// For example, if you type AD then the output will be Ace of Diamonds.

#include <iostream>

using namespace std;


int main()
{


        cout << "               MENU            " << endl;
        cout << "------------------------------------" << endl;
        cout << " A=Ace, J=Jack, Q=Queen " << endl;
        cout << " K=King, D=Diamonds, H=Hearts"<< endl;
        cout << " S=Spades,C=Clubs,2-10=card values" << endl;
        cout << "------------------------------------" << endl;


        while ( true)
        {
        cout << " Enter the card notation: (ex. QS,AD,4C): ";


        char choice;
        cin >> choice;
        if ( cin.eof() )
                break;



                switch (choice)
                {

                        case 'q':
                        case 'Q':
                                cout << " Queen " << endl ;
                                break;
                        case 'a':
                        case 'A':

<< moderator edit: added [code][/code] tags >>

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.