我正在編程一個洗牌程序。我得到它的工作,我想在洗牌之前和洗牌之後顯示牌。我有一個間距問題處理數字10.C++用單位和雙位數排列間距
我知道我可以使用"\t"
,但有沒有其他方式。
輸出的一個片段:
A of Spades
2 of Spades
3 of Spades
4 of Spades
5 of Spades
6 of Spades
7 of Spades
8 of Spades
9 of Spades
10 of Spades
J of Spades
Q of Spades
K of Spades
我幾乎可以肯定,這是導致該問題的assignDeck()
,但我會包括。
void assignDeck(string *suit, string *cards, string *deck)
{
int p=0;
for(int i=0; i<4; i++)
{
for(int j=0; j<13; j++)
{
deck[p] = cards[j] + " of " + suit[i];
p++;
}
}
}
void showDeck(string *deck)
{
for (int i=0; i<52; i++)
{
cout<<deck[i]<<endl;
}
}
你將永遠有這個空間問題。你需要添加額外的空間來填補這個缺點。這是因爲10有一個額外的字符。 如果使用單個數字時,您的總字符串長度爲11,則如果添加了一位數字,則長度將變爲12,因此空格會移動並且長度也會增加。 –
如果你不是在任何地方傳遞字符串指針,而是實際的數字,你會發現這更容易。 –