2016-03-31 11 views
-5

Ich möchte eine Struktur mit dem Deck der Karte darin erstellen, aber ich weiß nicht, wie ich es tun würde, da ich versuche, beide Gesicht und passt einen int-Wert und beim Anrufen zum Beispiel face = 3 und suit = 1 würde es mir geben: 3 von Diamonds. So ähnlich. Hilfe wäre willkommen. Vielen Dank einen schönen Tag!Kartenstapel in Strukturen platziert

#include <iostream> 
#include <cmath> 
using namespace std; 

struct cards { 
    char suit[]; 
}; 


int main() { 
    cards type = { 
    '0','1','2','3','4' 

}; 

    cout << type.suit << endl; 


} 

Ich weiß, das ist falsch, ich weiß nicht, wie das ...

+0

Sie werden keine Antwort auf diese Weise erhalten. Anzeigen, was Sie bereits mit einem tatsächlichen Fehler versuchten, würde. –

+1

Sie scheinen die Frage in Ihrer Frage beantwortet zu haben. Wenn Ihr vorgeschlagener Ansatz aus irgendeinem Grund nicht funktioniert, fragen Sie speziell danach. –

Antwort

0

von Ihrem ursprünglichen Code zu tun:

const std::string suit[] = {"Diamonds", "Hearts", "Spades", "Clubs"}; 
const std::string facevalue[] = { 
    "Two", "Three", "Four", "Five", "Six", "Seven", 
    "Eight", "Nine", "Ten", "Jack", "Queen", "King", "Ace" 
}; 

struct card 
{ 
    card(int index) 
    : suit(index % 4) 
    , rank(index % 13) 
    {} 

    int suit; 
    int rank; 
}; 

std::ostream& operator<<(std::ostream& os, const card& c) 
{ 
    return os << facevalue[c.rank] + " of " + suit[c.suit]; 
}